Linux의 가상 메모리가 추가되지 않습니까?


4

Linux에서 System Monitor를보고 Firefox가 441MB의 메모리를 사용하고 있고 다른 여러 응용 프로그램이 274, 257, 232 등 (가상 메모리 3GB 이상 추가)을 사용하고 있음을 알았습니다. 따라서 리소스 탭으로 전환하면 462MB의 메모리를 사용하고 스왑을 사용하지 않는다고합니다. 나는 혼란스러워. 가상 메모리 양은 프로그램이 실제로 그것을 사용하지 않는 경우를 의미합니다. 아마 그들이 요청했지만 사용하지 않는 메모리를 생각하고 있었지만 OS가 어떻게 알았 을까요? 나는 "미래에이 많은 기억이 필요할지도 모른다"는 생각을 할 수 없다.


추가 크레디트 독서 이리 .
Dennis Williamson

가상 메모리가 작동하는 방법을 알고, 내 질문은 "가상 메모리"크기가 더 이상 (심지어 닫히지 않음) 나열된 이유는 무엇입니까? 내 (분명히 순진) 가정은 3GB의 가상 메모리를 사용했다면 메모리 사용량과 스왑 사용량의 일부 조합이 최대 3GB가되어야한다는 것입니다.
Brendan Long

"가상 메모리 사용"은 캐시 된 파일을 나열합니까?
Brendan Long

답변:


1

우선, 공유 메모리는 실제로 맨 위에 (?) 올바르게 계산되지 않습니다. 둘째, 예, 프로그램이 메모리에 대한 권한을 요청한 다음이를 사용하지만 어떤 것도 만질 수는 없으며 OS는이를 알고 있습니다. 사용하지 않으려는 모든 앱에 대해 모든 RAM 및 스왑을 할당하는 데 전혀 문제가 없습니다 .-D & gt; 우리는 Mac OS Classic 세계에 있지 않습니다 (실제로 Ram Doubler가 어떻게 작동했는지 알려주고 할당 된 것과 사용 된 것의 차이점을 사용합니다).


기억에 대한 권리를 요구하고 그것을 사용하지 않는다는 것은 무엇을 의미합니까? 마치 프로그램이 malloc ()을 사용하지만 결코 포인터에 액세스하지 않는 것처럼 OS는 알 수 있습니까?
Brendan Long

1
정확하게. 이 프로그램은 사용자 공간에 있으며, 허가 없이는 아무 것도 할 수 없습니다 (pmmu가 사용하는 것입니다). 그렇습니다. OS가이를 추적합니다. 대부분의 사람들이 RAM을 사용하는 시스템을 가지고 있지 않은 지금, 3GB의 주소 공간을 할당했지만 응용 프로그램 데이터베이스 (예 : 객체 데이터베이스)와 같은 응용 프로그램은 거의 없었습니다.
Ronald Pottol

0

혹시 "vmstat"를 발사하려 한 적이 있습니까 ?? iff 당신 자신을 돕지 않고 명령 행에서 다음과 같이 해고하십시오.

vmstat

그리고 귀하의 빚을 줄이기 위해 RTFM을 기쁘게하십시오. 맨 페이지에 몇 가지 재미있는 플래그가있는 것을 보았습니다 ... 당신이 이해하는 데 도움이 될지도 모릅니다. 플러스라면 파이어 폭스 메모리 소비에 대해 정말로 우려하고 있습니다. 그런 다음이 솔루션을 살펴보십시오.

http://unixbhaskar.blogspot.com/2009/10/firefox-saga-on-opensuse.html

그리고 여기

http://unixbhaskar.blogspot.com/2010/02/cleanup-firefox-clogging-by-pruning-its.html

그리고 동적 메모리 할당을위한 리눅스 내부 구조에 대해 알고 싶다면 여기를 읽어보십시오.

http://www.ibm.com/developerworks/linux/library/l-linux-slab-allocator/index.html

그리고 "pmap"이라는 하나의 이진 파일을 사용하십시오.이 pmap (process-id)과 같이 사용하면 특정 응용 프로그램이 메모리를 어떻게 사용하는지 알 수 있습니다. "man pmap"에 대해 더 알고 싶습니다.

나는 당신에게 많은 통찰력을 주었으면 좋겠다.

건배!


나는 파이어 폭스의 메모리 소비에 대해 걱정하지 않는다. 컴퓨터 전체가 500MB의 메모리 만 사용했기 때문에 분명히 그렇게 많이 사용하지 않았습니다.
Brendan Long
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.