`free -m`은 Linux의 프로그램이 322M RAM을 사용한다는 것을 보여 주지만 `top`은 58M을 사용한다는 것을 보여줍니다. 왜 그렇습니까?

`free -m`은 Linux의 프로그램이 322M RAM을 사용한다는 것을 보여 주지만 `top`은 58M을 사용한다는 것을 보여줍니다. 왜 그렇습니까?

Burst.net에 512M vps 상자가 있는데 스왑이 없습니다. 내 OS는 centos 6.x x64입니다.

시작했을 때는 58M 램만 사용했습니다.

$ free -m:
             total       used       free     shared    buffers     cached
Mem:           512         58        454          0          0          0
-/+ buffers/cache:         58        454
Swap:            0          0          0

이제 Python으로 시작하는 Java 프로그램을 시작한 다음 다음을 수행합니다 free -m.

$ free -m
             total       used       free     shared    buffers     cached
Mem:           512        380        131          0          0          0
-/+ buffers/cache:        380        131
Swap:            0          0          0

아, 램(380-58=322M)을 사용했군요.

하지만 내가 top:

top - 20:37:01 up 67 days,  3:19,  2 users,  load average: 0.08, 0.04, 0.00
Tasks:  20 total,   2 running,  18 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    524800k total,   388300k used,   136500k free,        0k buffers
Swap:        0k total,        0k used,        0k free,        0k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  DATA COMMAND                             
20288 freewind  17   0  936m  48m  11m S  0.0  9.4   0:02.07 799m java                                
20287 freewind  17   0  179m  10m 3404 S  0.0  2.1   0:00.08 7260 python                              
20200 root      15   0 91732 3940 2948 S  0.0  0.8   0:00.03  932 sshd                                
20145 root      15   0 91640 3832 2948 S  0.0  0.7   0:00.02  840 sshd                                
 1474 root      18   0 80296 2312  696 S  0.0  0.4   4:06.86 1684 sendmail                            

java+python은 램만 사용하는 것으로 보입니다 48m+10m = 58M. 왜 free -m그들이 사용한 쇼입니까 322M? 사라진 램은 어디에 있나요?

답변1

귀하의 경우 'free -m'은 프로그램 실행에 사용되지 않는 추가 RAM 사용량을 설명하는 버퍼 및 캐시를 포함하여 총 RAM 사용량(아마도 VPS에 있기 때문에)에 대해서만 알려주는 것 같습니다. 읽어 보셨나요?리눅스가 내 RAM을 먹었어페이지?

답변2

top각 인스턴스 또는 프로세스별로 세부 정보를 표시하지만 free그렇지 않습니다.

사용하면 free정확히 무엇이 실행되고 있는지 알 수 없으며 요약만 볼 수 있습니다.

관련 정보