728x90
참고URL
리눅스 메모리 사용률 확인
Nginx, PHP-FPM에서 child process 개수 결정하기 |
# 프로세스중 메모리를 많이 사용하는 프로세스 리스트를 뽑아낸다.
# ps -ef --sort -rss
# ps -ef --sort -rss
UID PID PPID C STIME TTY TIME CMD
root 14801 1 0 Aug24 ? 00:00:36 /usr/local/apache/bin/httpd -k start
root 30654 1 0 Aug26 ? 00:03:02 java -jar ../server/tubro-site-main-1.0.0-SNAPSHOT.jar --server.port=8182
root 30607 1 0 Aug26 ? 00:02:43 java -jar ../server/test-swagger-1.0.0-SNAPSHOT.jar --server.port=8181
nobody 396 14801 0 Aug26 ? 00:00:44 /usr/local/apache/bin/httpd -k start
nobody 395 14801 0 Aug26 ? 00:00:50 /usr/local/apache/bin/httpd -k start
nobody 3556 14801 0 Aug26 ? 00:00:45 /usr/local/apache/bin/httpd -k start
nobody 32734 14801 0 Aug26 ? 00:00:50 /usr/local/apache/bin/httpd -k start
mysql 30313 29796 0 2019 ? 02:31:44 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/home/mysql/data --plugin-dir=/usr/local/mysql/lib/plu
root 11757 1 0 2019 ? 00:29:47 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
root 3203 15675 0 18:15 ? 00:00:00 sshd: hanchiro [priv]
root 3233 3206 0 18:15 pts/0 00:00:00 su -
root 3235 1 0 18:15 ? 00:00:00 /usr/libexec/fprintd
# php-fpm 프로세스중에서 메모리를 많이 사용하는 리스트를 뽑아낸다.
# ps -ylC php-fpm --sort:rss
#java 프로세스의 메모리 사용량을 볼 수 있다.
ps -ylC java --sort:rss
# ps -ylC java --sort:rss
S UID PID PPID C PRI NI RSS SZ WCHAN TTY TIME CMD
S 0 30607 1 0 80 0 510144 1473060 futex_ ? 00:02:43 java
S 0 30654 1 0 80 0 859748 1542193 futex_ ? 00:03:02 java
RSS를 보면 평균 사용 메모리를 KB로 표시해준다.
위 명령어 외에 좀 더 확실해게 보려면 아래 명령어를 입력해보면 된다.
PHP-FPM으로 사용가능한 memory / Processor 당 메모리 사용량으로 나누면 pm.max_children 개수를 정할 수 있다.
ps --no-headers -o "rss,cmd" -C java | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"Mb") }'
# ps --no-headers -o "rss,cmd" -C java | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"Mb") }'
668Mb
<< bash 스크립트 >>
#!/bin/bash
TOTAL=`free | grep ^Mem | awk '{print $2}'`
USED1=`free | grep ^Mem | awk '{print $3}'`
USED2=`free | grep ^-/+ | awk '{print $3}'`
NOMINAL=$((100*USED1/TOTAL))
ACTUAL=$((100*USED2/TOTAL))
MEMTOTLA=`cat /proc/meminfo | grep MemTotal`
# NOMINAL=`echo "100*$USED1/$TOTAL" | bc -l`
# ACTUAL=`echo "100*$USED2/$TOTAL" | bc -l`
echo '--------------------------------------------------'
echo ${MEMTOTLA}
echo NOMINAL=${NOMINAL:0:5}% ACTUAL=${ACTUAL:0:5}%
echo '--------------------------------------------------'
echo 'NOMINAL : 명목, ACTUAL : 실질, rss : 물리메모리'
echo '--------------------------------------------------'
echo '물리메모리 사용량 TOP 10'
ps -eo user,pid,ppid,rss,size,vsize,pmem,pcpu,time,comm --sort -rss | head -n 11
echo '--------------------------------------------------'
echo 'SWAP메모리 사용량 TOP 10'
ps -eo user,pid,ppid,rss,size,vsize,pmem,pcpu,time,comm --sort -size | head -n 11
[root@KSERVER145-25 ~]# ./memory_check.sh
--------------------------------------------------
MemTotal: 7894176 kB
NOMINAL=98% ACTUAL=37%
--------------------------------------------------
NOMINAL : 명목, ACTUAL : 실질, rss : 물리메모리
--------------------------------------------------
물리메모리 사용량 TOP 10
USER PID PPID RSS SZ VSZ %MEM %CPU TIME COMMAND
root 14801 1 4342480 6220 4624664 55.0 0.0 00:00:36 httpd
root 30654 1 859844 6019212 6168772 10.8 0.0 00:03:02 java
root 30607 1 510144 5742716 5892240 6.4 0.0 00:02:43 java
nobody 396 14801 291316 5440208 10060724 3.6 0.0 00:00:44 httpd
nobody 395 14801 280584 5438416 10058960 3.5 0.0 00:00:51 httpd
nobody 3556 14801 270376 5438416 10058932 3.4 0.0 00:00:45 httpd
nobody 32734 14801 257716 5438416 10058960 3.2 0.0 00:00:50 httpd
mysql 30313 29796 163408 4145948 4183520 2.0 0.0 02:31:44 mysqld
root 11757 1 5088 228600 256192 0.0 0.0 00:29:47 rsyslogd
root 3203 15675 4120 616 73456 0.0 0.0 00:00:00 sshd
--------------------------------------------------
SWAP메모리 사용량 TOP 10
USER PID PPID RSS SZ VSZ %MEM %CPU TIME COMMAND
root 30654 1 859844 6019212 6168772 10.8 0.0 00:03:02 java
root 30607 1 510144 5742716 5892240 6.4 0.0 00:02:43 java
nobody 396 14801 291316 5440208 10060724 3.6 0.0 00:00:44 httpd
nobody 395 14801 280584 5438416 10058960 3.5 0.0 00:00:51 httpd
nobody 3556 14801 270376 5438416 10058932 3.4 0.0 00:00:45 httpd
nobody 32734 14801 257716 5438416 10058960 3.2 0.0 00:00:50 httpd
mysql 30313 29796 163408 4145948 4183520 2.0 0.0 02:31:44 mysqld
root 2399 1 812 4078160 4116684 0.0 0.0 00:00:01 console-kit-dae
root 11757 1 5088 228600 256192 0.0 0.0 00:29:47 rsyslogd
68 1904 1 1076 11216 38212 0.0 0.0 00:09:54 hald