내 가상 머신의 모든 메모리를 차지하는 것은 무엇입니까? 이것은 디스크 캐시가 아닙니다.

내 가상 머신의 모든 메모리를 차지하는 것은 무엇입니까? 이것은 디스크 캐시가 아닙니다.

매우 큰 프로젝트를 빌드하려고 할 때 충분한 메모리(실제로는 14GB)가 있음에도 불구하고 내 컴퓨터가 스왑(수 GB)을 시작하는 문제가 있습니다. 실행하면 free디스크 캐시가 아닌 것으로 표시됩니다.

$ free -m
             total       used       free     shared    buffers     cached
Mem:         12900       6350       6549          0          7         77
-/+ buffers/cache:       6266       6633
Swap:         9211        233       8978

따라서 실제로는 6.3GB의 메모리가 사용되지만 상단(% 메모리 사용량으로 정렬)을 보면 메모리가 전혀 사용되지 않는 것을 볼 수 있습니다.

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                               
38669 blong     20   0 1282m 378m  42m S    2  2.9   0:50.79 firefox                                               
 1327 root      20   0  365m 126m 4056 S    4  1.0  40:23.94 Xorg                                                  
 2540 blong     20   0 1578m  67m  10m S    2  0.5  21:33.35 gnome-shell                                           
13943 blong     20   0  579m  12m 5604 S    2  0.1   1:07.01 gnome-terminal                                        
30093 blong     20   0  540m 8664 5572 S    0  0.1   0:03.96 icemon                                                
 2558 blong     20   0  362m 5964 1808 S    0  0.0   5:17.44 vmtoolsd                                              
 2526 blong     20   0  672m 5056 2000 S    0  0.0   0:26.81 gnome-settings-                                       
 2546 blong     20   0  354m 3484 2244 S    0  0.0   5:08.96 pulseaudio

내가 뭐 놓친 거 없니?

VM을 다시 시작하면 이 문제가 해결되었지만 실제로 무슨 일이 일어나고 있는지 파악하고 싶습니다.

답변1

스왑은 나쁜 것이 아닙니다. 이 경우 아마도 좋은 일이 될 것입니다. vm.swappiness비활성 메모리 페이지를 교환하는 커널의 경향을 제어하는 ​​커널 매개변수( )가 있습니다 . 이는 파일 시스템 캐싱과 같은 작업에 RAM을 더 잘 사용할 수 있도록 하기 위한 것입니다.

일반적으로 무슨 일이 일어나고 있는지 알지 못한 채 커널 매개 변수를 조정하는 것을 권장하지 vm.swappiness = 0않지만 ./etc/sysctl.confsysctl -p


무엇이 당신의 기억을 사용하고 있는지에 대한 대답은 간단하지 않습니다. 애플리케이션 전용 메모리, 캐시 외에도 시스템 메모리를 사용하는 것들이 많습니다. 공유 메모리, 매핑된 메모리, 커널 보드 같은 것들도 있습니다.

이를 살펴보면 시스템의 메모리 사용량에 대한 많은 정보를 얻을 수 있습니다 /proc/meminfo. 그러나 그것은 희미한 마음을 위한 것이 아닙니다. Linux의 VM 시스템은 매우 복잡합니다.

관련 정보