MacOS Catalina에서 프로세스의 메모리 사용량을 확인할 때 ps
명령이 상단에 표시된 메모리 사용량과 다른 RSS 값을 표시하는 것을 발견했습니다.
$> ps e -o command,vsize,rss,%mem|grep "myapplication"|head -n 1
myapplication 4594896 51364 0.3
RSS -> 51364
top
PID COMMAND %CPU TIME #TH #WQ #PORT MEM
48106 myapplication 115.7 09:06.12 69/1 1 101 37M+
메모리 -> 37M
왜 그런 차이가 있습니까?
고쳐 쓰다:
IntelliJ 프로세스의 또 다른 예:
top -pid 357
PID COMMAND %CPU TIME #TH #WQ #POR MEM PURG CMPRS PGRP PPID STATE BOOSTS %CPU_ME %CPU_OTHRS UID FAULTS COW MSGSENT MSGRECV SYSBSD
357 idea 2.6 03:16:46 112 1 925 4906M 0B 1583M 357 1 sleeping 0[2884] 0.00000 0.00000 281451937 28337096 54627 8404446+ 2733245+ 156093159+
인기 프로그램4906M
ps aux
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
xxxxxxx 357 3.6 14.5 180050484 2430728 ?? S 1:44PM 196:48.70 /Applications/IntelliJ IDEA.app/Contents/MacOS/idea -psn_0_73746
ps RSS 표시2430728(지식 기반)
답변1
가장 그럴듯한 이유는 ps가 상주 메모리를 표시하는 반면 top은 총 메모리 또는 가상 메모리(예를 들어 교체 및 공유 메모리 포함)를 표시하기 때문입니다.
이를 포함하여 많은 질문이 있습니다.https://stackoverflow.com/questions/7880784/what-is-rss-and-vsz-in-linux-memory-management하지만 그렇기 때문에 여기서는 서로 다른 가치관을 가지고 있습니다.