如题

linux ps 命令的结果中 VSZ,RSS,STAT 的含义和大小

参数名 含义 单位
USER 进程所属用户
PID 进程ID
%CPU 进程占用CPU百分比
%MEM 进程占用内存百分比
VSZ 虚拟内存占用大小 单位:kb(killobytes)
RSS 实际内存占用大小 单位:kb(killobytes)
TTY 终端类型
STAT 进程状态
START 进程启动时刻
TIME 进程运行时长
COMMAND 启动进程的命令

按占用内存由高到低排序

1
ps auxw|head -1;ps auxw|sort -rn -k4|head -40

查看 utomcat 运行的 java 程序

1
ps aux|head -1; ps aux | grep java | grep utomcat | sort -k4nr | head -10

示例

1
2
3
4
5
6
7
8
[root@hjweb01 script]# ps aux|head -1; ps aux | grep java | grep utomcat | sort -k4nr | head -10
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
utomcat 13545 1.6 14.4 3571532 562676 pts/1 Sl 13:31 0:45 /usr/jdk1.8.0_181/bin/java -Djava.util.logging.config.file=/home/utomcat/tomcat/pre/webLoadBalance/web2/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /home/utomcat/tomcat/pre/webLoadBalance/web2/bin/bootstrap.jar:/home/utomcat/tomcat/pre/webLoadBalance/web2/bin/tomcat-juli.jar -Dcatalina.base=/home/utomcat/tomcat/pre/webLoadBalance/web2 -Dcatalina.home=/home/utomcat/tomcat/pre/webLoadBalance/web2 -Djava.io.tmpdir=/home/utomcat/tomcat/pre/webLoadBalance/web2/temp org.apache.catalina.startup.Bootstrap start
utomcat 13777 1.5 14.0 3565988 544356 pts/5 Sl 13:34 0:41 /usr/jdk1.8.0_181/bin/java -Djava.util.logging.config.file=/home/utomcat/tomcat/pre/backend/schedule/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /home/utomcat/tomcat/pre/backend/schedule/bin/bootstrap.jar:/home/utomcat/tomcat/pre/backend/schedule/bin/tomcat-juli.jar -Dcatalina.base=/home/utomcat/tomcat/pre/backend/schedule -Dcatalina.home=/home/utomcat/tomcat/pre/backend/schedule -Djava.io.tmpdir=/home/utomcat/tomcat/pre/backend/schedule/temp org.apache.catalina.startup.Bootstrap start
utomcat 32454 0.3 13.8 3563932 535848 ? Sl 10:21 0:54 /usr/jdk1.8.0_181/bin/java -Djava.util.logging.config.file=/home/utomcat/tomcat/webLoadBalance/web1/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /home/utomcat/tomcat/webLoadBalance/web1/bin/bootstrap.jar:/home/utomcat/tomcat/webLoadBalance/web1/bin/tomcat-juli.jar -Dcatalina.base=/home/utomcat/tomcat/webLoadBalance/web1 -Dcatalina.home=/home/utomcat/tomcat/webLoadBalance/web1 -Djava.io.tmpdir=/home/utomcat/tomcat/webLoadBalance/web1/temp org.apache.catalina.startup.Bootstrap start
utomcat 22929 0.1 13.5 3593488 524296 ? Sl Jul24 2:02 /usr/jdk1.8.0_181/bin/java -Djava.util.logging.config.file=/home/utomcat/tomcat/webLoadBalance/web2/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /home/utomcat/tomcat/webLoadBalance/web2/bin/bootstrap.jar:/home/utomcat/tomcat/webLoadBalance/web2/bin/tomcat-juli.jar -Dcatalina.base=/home/utomcat/tomcat/webLoadBalance/web2 -Dcatalina.home=/home/utomcat/tomcat/webLoadBalance/web2 -Djava.io.tmpdir=/home/utomcat/tomcat/webLoadBalance/web2/temp org.apache.catalina.startup.Bootstrap start
utomcat 13981 1.5 13.3 3563932 519680 pts/1 Sl 13:36 0:40 /usr/jdk1.8.0_181/bin/java -Djava.util.logging.config.file=/home/utomcat/tomcat/pre/webLoadBalance/web1/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /home/utomcat/tomcat/pre/webLoadBalance/web1/bin/bootstrap.jar:/home/utomcat/tomcat/pre/webLoadBalance/web1/bin/tomcat-juli.jar -Dcatalina.base=/home/utomcat/tomcat/pre/webLoadBalance/web1 -Dcatalina.home=/home/utomcat/tomcat/pre/webLoadBalance/web1 -Djava.io.tmpdir=/home/utomcat/tomcat/pre/webLoadBalance/web1/temp org.apache.catalina.startup.Bootstrap start
utomcat 15263 0.1 6.6 3568036 259860 ? Sl Jul19 12:08 /usr/jdk1.8.0_181/bin/java -Djava.util.logging.config.file=/home/utomcat/tomcat/backend/schedule/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /home/utomcat/tomcat/backend/schedule/bin/bootstrap.jar:/home/utomcat/tomcat/backend/schedule/bin/tomcat-juli.jar -Dcatalina.base=/home/utomcat/tomcat/backend/schedule -Dcatalina.home=/home/utomcat/tomcat/backend/schedule -Djava.io.tmpdir=/home/utomcat/tomcat/backend/schedule/temp org.apache.catalina.startup.Bootstrap start

查看 elasticsearch 内存占用

1
ps aux|head -1; ps aux | grep elasticsearch | sort -k4nr | head -10

查看 php 进程内存占用情况

1
ps aux|head -1; ps aux | grep php-fpm | sort -k4nr | head -10

查看 utomcat 运行的 java 程序,同时程序目录带 pre

1
ps aux|head -1; ps aux | grep java | grep utomcat | grep pre | sort -k4nr | head -10

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@hjweb01 script]# ps aux|head -1; ps aux | grep java | grep utomcat | grep pre | sort -k4nr | head -10  
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
utomcat 21006 20.8 8.4 2923740 326200 pts/9 Sl 15:05 0:35 /usr/jdk1.8.0_181/bin/java -Djava.util.logging.config.file=/home/utomcat/tomcat/pre/webLoadBalance/web2/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -Xms350M -Xmx350M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=15 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /home/utomcat/tomcat/pre/webLoadBalance/web2/bin/bootstrap.jar:/home/utomcat/tomcat/pre/webLoadBalance/web2/bin/tomcat-juli.jar -Dcatalina.base=/home/utomcat/tomcat/pre/webLoadBalance/web2 -Dcatalina.home=/home/utomcat/tomcat/pre/webLoadBalance/web2 -Djava.io.tmpdir=/home/utomcat/tomcat/pre/webLoadBalance/web2/temp org.apache.catalina.startup.Bootstrap start
utomcat 20706 10.7 8.3 2923740 325332 pts/5 Sl 15:02 0:36 /usr/jdk1.8.0_181/bin/java -Djava.util.logging.config.file=/home/utomcat/tomcat/pre/webLoadBalance/web1/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -Xms350M -Xmx350M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=15 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /home/utomcat/tomcat/pre/webLoadBalance/web1/bin/bootstrap.jar:/home/utomcat/tomcat/pre/webLoadBalance/web1/bin/tomcat-juli.jar -Dcatalina.base=/home/utomcat/tomcat/pre/webLoadBalance/web1 -Dcatalina.home=/home/utomcat/tomcat/pre/webLoadBalance/web1 -Djava.io.tmpdir=/home/utomcat/tomcat/pre/webLoadBalance/web1/temp org.apache.catalina.startup.Bootstrap start
utomcat 21273 70.5 7.2 2823004 282968 pts/10 Sl 15:07 0:30 /usr/jdk1.8.0_181/bin/java -Djava.util.logging.config.file=/home/utomcat/tomcat/pre/backend/schedule/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -Xms250M -Xmx250M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=15 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /home/utomcat/tomcat/pre/backend/schedule/bin/bootstrap.jar:/home/utomcat/tomcat/pre/backend/schedule/bin/tomcat-juli.jar -Dcatalina.base=/home/utomcat/tomcat/pre/backend/schedule -Dcatalina.home=/home/utomcat/tomcat/pre/backend/schedule -Djava.io.tmpdir=/home/utomcat/tomcat/pre/backend/schedule/temp org.apache.catalina.startup.Bootstrap start

# -v 是不显示匹配上的内容
[utomcat@hjweb01 ~]$ ps aux|head -1; ps aux | grep java | grep utomcat | grep -v pre | sort -k4nr | head -10
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
utomcat 24909 0.1 15.6 3635036 608380 ? Sl Jul25 4:00 /usr/jdk1.8.0_181/bin/java -Djava.util.logging.config.file=/home/utomcat/tomcat/webLoadBalance/web2/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /home/utomcat/tomcat/webLoadBalance/web2/bin/bootstrap.jar:/home/utomcat/tomcat/webLoadBalance/web2/bin/tomcat-juli.jar -Dcatalina.base=/home/utomcat/tomcat/webLoadBalance/web2 -Dcatalina.home=/home/utomcat/tomcat/webLoadBalance/web2 -Djava.io.tmpdir=/home/utomcat/tomcat/webLoadBalance/web2/temp org.apache.catalina.startup.Bootstrap start
utomcat 24722 0.0 13.6 3571100 530576 ? Sl Jul25 2:36 /usr/jdk1.8.0_181/bin/java -Djava.util.logging.config.file=/home/utomcat/tomcat/webLoadBalance/web1/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /home/utomcat/tomcat/webLoadBalance/web1/bin/bootstrap.jar:/home/utomcat/tomcat/webLoadBalance/web1/bin/tomcat-juli.jar -Dcatalina.base=/home/utomcat/tomcat/webLoadBalance/web1 -Dcatalina.home=/home/utomcat/tomcat/webLoadBalance/web1 -Djava.io.tmpdir=/home/utomcat/tomcat/webLoadBalance/web1/temp org.apache.catalina.startup.Bootstrap start
utomcat 15263 0.1 6.7 3568036 263564 ? Sl Jul19 15:52 /usr/jdk1.8.0_181/bin/java -Djava.util.logging.config.file=/home/utomcat/tomcat/backend/schedule/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /home/utomcat/tomcat/backend/schedule/bin/bootstrap.jar:/home/utomcat/tomcat/backend/schedule/bin/tomcat-juli.jar -Dcatalina.base=/home/utomcat/tomcat/backend/schedule -Dcatalina.home=/home/utomcat/tomcat/backend/schedule -Djava.io.tmpdir=/home/utomcat/tomcat/backend/schedule/temp org.apache.catalina.startup.Bootstrap start
utomcat 31221 0.0 0.0 112708 972 pts/0 S+ 14:22 0:00 grep --color=auto java

查看内存占用的更多参数

1
ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep java | sort -nrk5

rsz 为实际内存占用,示例如下

1
2
3
4
5
6
7
8
9
[root@hjweb01 script]# ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep java | sort -nrk5
13545 java /usr/jdk1.8.0_181/bin/java 2.1 562456 3569484 13:31 utomcat 1001
13777 java /usr/jdk1.8.0_181/bin/java 2.0 543828 3565988 13:34 utomcat 1001
32454 java /usr/jdk1.8.0_181/bin/java 0.3 535532 3563932 10:21 utomcat 1001
22929 java /usr/jdk1.8.0_181/bin/java 0.1 524296 3593488 Jul24 utomcat 1001
13981 java /usr/jdk1.8.0_181/bin/java 2.1 519696 3563932 13:36 utomcat 1001
15263 java /usr/jdk1.8.0_181/bin/java 0.1 259860 3568036 Jul19 utomcat 1001
8454 java /usr/local/cloudmonitor/jre 0.4 72252 2522436 Jul18 root 0
16264 grep grep --color=auto java 0.0 972 112708 14:06 root 0

只看需要了解的参数,可调整参数列表

1
ps -e -o 'pid,comm,rsz,rss,user' | grep java | sort -nrk5

示例

1
2
3
4
5
6
7
8
[root@hjweb01 script]# ps -e -o 'pid,comm,rsz,rss,user' | grep java | sort -nrk5
8454 java 72252 root
32454 java 535596 utomcat
22929 java 524296 utomcat
15263 java 259860 utomcat
13981 java 519680 utomcat
13777 java 544028 utomcat
13545 java 562440 utomcat

内存的整体使用情况

1
2
3
4
[root@hjweb01 script]# free -m
total used free shared buff/cache available
Mem: 3790 2618 446 0 726 931
Swap: 0 0 0

top 命令查看内存使用情况

输入 top 之后,再按 m 键

1
2
3
4
5
6
7
8
9
10
11
12
13
top - 16:39:15 up 7 days, 22:33, 12 users,  load average: 0.02, 0.05, 0.05
Tasks: 119 total, 1 running, 118 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.5 us, 0.3 sy, 0.0 ni, 98.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 75.6/3881692 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ]
KiB Swap: 0.0/0 [ ]

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8454 root 20 0 2522436 72500 2724 S 1.3 1.9 49:36.58 java
14569 unginx 20 0 341748 17380 3332 S 0.7 0.4 0:13.04 php-fpm
574 unginx 20 0 342432 15616 3400 S 0.3 0.4 0:16.23 php-fpm
12413 root 20 0 150832 3112 1724 S 0.3 0.1 0:00.28 sshd
28174 root 20 0 157748 2196 1540 R 0.3 0.1 0:00.01 top
...