Google 크롬이 테라바이트 단위의 가상 메모리를 예약하는 이유는 무엇인가요?

Google 크롬이 테라바이트 단위의 가상 메모리를 예약하는 이유는 무엇인가요?

최근 시스템이 느리게 실행되어 htop리소스 소비를 확인했습니다. 크롬에서는 RES열이 정상입니다. 칼럼을 213M읽으 면서 VIRT구글 크롬이 채택되었다는 사실에 놀랐습니다 1.1T! ! !

크롬을 종료했다가 다시 열었는데 여전히 1.1TVIRT 메모리를 사용하고 있습니다. "Higher" VIRT가 고장 나서 수정이 필요한 경우 어떤 조언이라도 도움이 될 것입니다.

노트북 하드웨어 세부정보.

Processor Intel® Core™ i3-4005U CPU @ 1.70GHz × 4 
Graphics NVD7 / Intel® HD Graphics 4400 (HSW GT2)
Memory 7.7 GiB
Disk Capacity 740.2 GB
// uname -srvmpio
Linux 5.13.0-41-generic #46~20.04.1-Ubuntu SMP Wed Apr 20 13:16:21 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
// Google Chrome version
Version 102.0.5005.61 (Official Build) (64-bit)

구글 크롬은 1.1T의 가상 메모리를 차지합니다.

답변1

이는 '케이지 포인터'라는 Chrome의 보안 기능 때문입니다. 이 아이디어는 모든 Javascript 개체를 이 거대한 가상 주소 공간에 넣고 모든 브라우저 전용 항목을 여기에 넣으면 누군가가 Javascript 샌드박스에서 벗어나려고 하는지 쉽게 감지할 수 있다는 것입니다.

바라보다https://docs.google.com/document/d/1HSap8-J3HcrZvT7-5NsbYWcjfc0BVoops5TDHZNsnko/edit

답변2

무시하세요 VIRT. 나는 그것을 사용하거나 관심을 기울이는 사람을 본 적이 없습니다.

기본적으로 의미가 없습니다. 이유를 잘 모르겠습니다 top/ htop여전히 표시됩니다.

Mugurel Sumanariu는 한때 다음과 같이 썼습니다.그것에 대해:

VIRT프로세스가 실제로 사용하는 메모리, 프로세스 자체에 매핑되는 메모리(예: 공유 메모리)의 가상 크기를 나타냅니다. VIRT는 프로그램이 현재 액세스할 수 있는 메모리 양을 나타냅니다.

(메모리 오버커밋이 비활성화된 시스템에서는 이것이 의미가 있을 수 있지만 이러한 시스템을 사용하고 싶지는 않습니다.)

관련 정보