어떤 프로세스가 가장 많은 메모리를 사용하는지 확인하는 방법

어떤 프로세스가 가장 많은 메모리를 사용하는지 확인하는 방법

Prod 서버 중 하나를 확인했을 때 free메모리의 70%가 사용되고 있는 것으로 나타났습니다.

             total       used       free     shared    buffers     cached
Mem:     164923172  141171860   23751312          0    4555616   20648048
-/+ buffers/cache:  115968196   48954976
Swap:      8388600          0    8388600

하지만 어떤 프로세스가 메모리를 사용하고 있는지 찾을 수 없었습니다. 이 top명령을 시도했는데 프로세스가 메모리의 1.1%와 5.4%만 사용하고 있는 것으로 나타났습니다.

어떤 프로세스가 메모리를 사용하고 있는지 어떻게 알 수 있나요?

top 명령의 결과는 다음과 같습니다.

15085 couchbas  25   0 2784m 2.4g  40m S 183.7  1.5 299597:00 beam.smp
28248 tibco     18   0  124m 100m 3440 S 20.9  0.1   2721:45 tibemsd
15334 couchbas  15   0 9114m 8.6g 3288 S  9.0  5.4  12996:28 memcached
15335 couchbas  18   0  6024  600  468 S  2.0  0.0   1704:54 sigar_port
15319 couchbas  15   0  775m 2516  944 S  0.7  0.0 269:13.41 i386-linux-godu
12167 tibco     16   0 11284 1464  784 R  0.3  0.0   0:00.04 top
12701 root      15   0  451m 427m 2140 S  0.3  0.3  18:25.02 controller
13163 root      11  -5     0    0    0 S  0.3  0.0 289:58.58 vxglm_thread

답변1

가장 많은 메모리를 사용하는 상위 10개 프로세스가 표시됩니다.

ps aux --sort=-%mem | head

사용 top: 켜져 있는 경우 top누르면 m메모리 사용량을 기준으로 프로세스가 정렬됩니다.

그러나 이것이 문제를 해결하지는 못합니다. Linux에서는 모든 것이 파일이거나 프로세스입니다. 따라서 열려는 파일도 메모리를 차지하게 됩니다. 그래서 이것은 도움이 되지 않습니다.

lsof파일 크기 또는 파일 오프셋(바이트)과 함께 열려 있는 모든 파일을 제공합니다.

답변2

메모리는 실제로 사용되지 않습니다. 기본적으로 Linux는 단순히 콘텐츠를 디스크에 캐시하고 캐시된 콘텐츠를 RAM의 "사용된" 부분에 배치합니다.

해당 RAM을 실제로 사용하는 애플리케이션을 로드하면 해당 RAM을 사용할 수 있습니다.

바라보다http://www.linuxatemyram.com/

답변3

파이프를 사용할 수 있습니다메모그리고유형가장 많은 메모리를 사용하는 프로세스를 가져옵니다. 또한 확인하려는 추가 프로세스 세부정보를 지정할 수 있습니다.

ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -n -r | less

추신: 위의 내용은 메모리 열이 첫 번째 "정렬 -k 1 -n -r"

답변4

slabtop 명령을 사용하여 커널이 어떤 슬래브 객체를 사용하는지 확인할 수 있습니다.
/proc/meminfo의 출력을 확인할 수도 있습니다.

출력에서 다음 두 줄을 찾으십시오.

Slab:              68136 kB
SReclaimable:      21208 kB 

위의 예에서는 커널이 68MB의 보드 캐시를 사용하고 21MB를 회수할 수 있음을 보여줍니다. 재활용하려면 여기에 설명된 기술을 사용할 수 있습니다.https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html-single/Performance_Tuning_Guide/#s-memory-tunables

echo 2 > /proc/sys/vm/drop_caches  

관련 정보