◆ 관리하고 있는 시스템의 메모리상태를 체크해보려면 free라는 명령어를 이용하시면 됩니다.
◆ free라는 명령어로 다음과 같은 내용들의 확인이 가능합니다.
◆ 메모리의 전체용량
◆ 유휴메모리의 량
◆ 사용중인 메모리의 량
◆ 스왑(swap)메모리의 량
◆ 커널에서 사용되는 공유메모리(shared memory)와 버퍼(buffer)의 량
◆ 캐시된 메모리의 량
◆ 우선, 간단한 예를 보시기 바랍니다
free명령어에는 다음과 같은 몇 개의 옵션이 있습니다 ◆ -b : byte 단위로 보여줍니다. ◆ -k : kilo byte단위로 보여줍니다.(default) ◆ -m : mega byte단위로 보여줍니다. ◆ -t : 맨 마지막에 total용량을 보여줍니다. ◆ -o : buffer/cache 라인을 보여주지 않습니다. ◆ -s : 지정한 초단위로 refresh하여 메모리상태를 표시해 줍니다. ◆ -V : free명령어의 버전을 표시해줍니다 |
top 정보
top
시스템에서 실행되고 있는 프로세스들의 실시간 정보를 확인할 수 있으며, CPU 사용정보, 메모리 사용정보, 시스템부하율정보등 시스템의 전반적인 상황을 한눈에 볼 수 있는 매우 유용한 명령어이다.
top은 아무런 옵션없이 실행하면 5초에 한번씩 새로운 내용으로 refresh하여 보여준다.
사용형식
top [-] [d delay] [p pid] [q] [c] [C] [S] [s] [i] [n iter] [b]
사용예 #1
사용예는 간단히 다음과 같이 top이라고만 하면된다.
[root@host3 root]# top
위의 정보에 대한 간략한 설명을 하면 다음과 같다.
먼저, 첫번째 행은 uptime의 명령결과를 그대로 보여준다.
9:51pm up 11:15, 1 user, load average: 0.00, 0.00, 0.00 |
이행의 각 필드의 의미들은 uptime설명을 참조바란다.
두번째 행은 현재 실행중인 프로세스들의 전체적인 상황을 알려준다.
즉, 전체 실행된 프로세스수, sleeping된 프로세스수, running된 프로세스수, zombie프로세스수, stopped된 프로세스수를 보여준다.
38 processes: 36 sleeping, 2 running, 0 zombie, 0 stopped |
세번째 행은 CPU의 전체적인 운용상황을 알려준다.
즉, 사용자가 실행시킨 프로세스가 사용하는 CPU의 사용율(0.5% user)과 시스템자체에서 사용하는 CPU 사용율(0.1% system), 그리고 nice 정책에 의해 사용되고 있는 CPU사용율(0.0% nice), CPU의 사용되지 않고 남아있는 부분(99.2% idle)을 각각 표시하고 있다.
CPU states: 0.5% user, 0.1% system, 0.0% nice, 99.2% idle |
네번째 행은 메모리 운용상황을 보여준다.
전체메모리용량, 사용자 프로세스에서 사용된 메모리 사용량, 사용되지않고 남아있는 메모리량, 공유메모리량, 버퍼링된 메모리량의 정보를 보여준다.
Mem: 126176K av, 79236K used, 46940K free, 0K shrd, 9152K buff |
다섯번째 행은 스왑메모리의 운용상황을 보여준다.
전체 스왑메모리량, 사용자 프로세스에 의해 사용된 스왑메모리량, 남아 있는 스왑메모리량, 캐싱메모리량를 표시해 준다.
Swap: 522104K av, 0K used, 522104K free 38084K cached |
그 아래에는 프로세스들의 세부정보를 표시해 준다.
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND 808 root 5 -10 73140 7348 2216 S < 0.3 5.8 2:13 X 1696 root 15 0 1016 1016 836 R 0.3 0.8 0:00 top 1 root 15 0 480 480 428 S 0.0 0.3 0:04 init 2 root 15 0 0 0 0 SW 0.0 0.0 0:00 keventd 3 root 15 0 0 0 0 SW 0.0 0.0 0:00 kapmd 4 root 34 19 0 0 0 SWN 0.0 0.0 0:00 ksoftirqd_CPU0 5 root 15 0 0 0 0 SW 0.0 0.0 0:00 kswapd 6 root 15 0 0 0 0 SW 0.0 0.0 0:00 bdflush 7 root 15 0 0 0 0 SW 0.0 0.0 0:00 kupdated 8 root 25 0 0 0 0 SW 0.0 0.0 0:00 mdrecoveryd 12 root 15 0 0 0 0 SW 0.0 0.0 0:00 kjournald 64 root 16 0 0 0 0 SW 0.0 0.0 0:00 khubd 156 root 15 0 0 0 0 SW 0.0 0.0 0:00 kjournald 444 root 15 0 0 0 0 SW 0.0 0.0 0:00 eth1 491 root 15 0 536 536 456 S 0.0 0.4 0:00 syslogd 495 root 15 0 428 428 376 S 0.0 0.3 0:00 klogd 506 rpc 15 0 532 532 460 S 0.0 0.4 0:00 portmap 525 rpcuser 15 0 728 728 640 S 0.0 0.5 0:00 rpc.statd 604 root 15 0 476 476 428 S 0.0 0.3 0:00 apmd 642 root 21 0 1464 1464 1320 S 0.0 1.1 0:02 sshd 656 root 15 0 896 896 764 S 0.0 0.7 0:00 xinetd 679 root 15 0 2288 2288 1684 S 0.0 1.8 0:00 sendmail 689 smmsp 15 0 2056 2052 1564 S 0.0 1.6 0:00 sendmail 699 root 15 0 428 428 380 S 0.0 0.3 0:00 gpm 708 root 15 0 612 612 540 S 0.0 0.4 0:00 crond 741 xfs 15 0 3460 3460 884 S 0.0 2.7 0:00 xfs 759 daemon 15 0 520 520 464 S 0.0 0.4 0:00 atd 768 root 15 0 404 404 356 S 0.0 0.3 0:00 mingetty 769 root 15 0 404 404 356 S 0.0 0.3 0:00 mingetty 770 root 15 0 404 404 356 S 0.0 0.3 0:00 mingetty 771 root 15 0 404 404 356 S 0.0 0.3 0:00 mingetty 772 root 15 0 404 404 356 S 0.0 0.3 0:00 mingetty 773 root 15 0 404 404 356 S 0.0 0.3 0:00 mingetty 774 root 15 0 2936 2936 2828 S 0.0 2.3 0:00 gdm-binary 820 gdm 15 0 22072 21M 8908 S 0.0 17.4 0:03 gdmgreeter 823 root 15 0 1444 1444 1132 S 0.0 1.1 0:00 bash |
사용예 #2
위에서 설명드렸듯이 top은 아무런 옵션없이 실행하면 5초에 한번씩 화면을 refresh해 새롭게 보여준다.
하지만 다음과 같이 -d옵션을 사용하면 refresh를 원하시는 간격단위(초단위)로 실행한다.
[root@host3 root]# top -d 2
위의 예는 2초에 한번씩 top의 결과를 refresh하여 보여주게 된다.
만약 "top -q"와 같이 -q옵션을 사용하면 지속적인 refresh를 해서 보여주게 된다.
사용예 #3
지금까지 보았던 top의 결과들중 명령어 부분에는 단순히 명령어 만을 보여주었다.
하지만 아래의 예와 같이 -c옵션을 사용하면 명령어를 실행할때 사용했던 옵션값들과 전체 명령행을 보여주게 된다.
[root@host3 root]# top -c
위의 결과를 보면 맨 오른쪽에 보여지는 프로세스들이 전체 실행명령행을 볼 수가 있다.
정확한 프로세스정보를 확인하기 위해서 꼭 알아두어야하는 옵션이다.
출처:수퍼유저코리아(www.superuser.co.kr)
[출처] 리눅스 서버 메모리 상태 체크(free,top)|작성자 오백원