1:cat /proc/meminfo
[root@localhost log-history]# cat /proc/meminfo MemTotal: 8009264 kB 总内存 即所有可用的RAM大小 7.6 G MemFree: 150072 kB 空闲内存 未使用的内存 146 MB MemUsed=MemTotal-MemFree就是已被用掉的内存
应用程序可用内存数。系统中有些内存虽然已被使用但是可以回收的,比如cache/buffer、slab都有一部分可以回收,所以MemFree不能代表全部可用的内存,这部分可回收的内存加上MemFree才是系统可用的内存
MemAvailable: 491240 kB 可用内存数 479 MB MemAvailable≈MemFree+Buffers+Cached Buffers: 4 kB 缓冲区内存数 Cached: 498372 kB 缓存区内存数 SwapCached: 117732 kB Active: 4279040 kB Inactive: 3248696 kB Active(anon): 4071972 kB
2:free
[root@localhost log-history]# free total used free shared buff/cache available Mem: 8009264 7623552 121852 2556 263860 90852 Swap: 8257532 2751060 5506472
3:top 命令 是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
PPID 父进程id
user 进程所有者的用户名进程所有者的用户名
PR 优先级
NI nice值。负值表示高优先级,正值表示低优先级
VIRT 虚拟内存
RES 实际使用内存
SHR 共享内存大小,单位kb
S 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
TIME 进程使用的CPU时间总计,单位秒
COMMAND 命令名/命令行
4:ps -aux | sort -k4nr | head -10 查看内存使用最多的前十个进程
[root@localhost bin]# ps -aux | sort -k4nr | head -10 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND mongod 31666 4.6 40.0 6332648 3205532 ? Sl 8月13 518:48 /usr/bin/mongod -f /etc/mongod.conf root 19065 1.0 11.0 3706112 884984 ? Ssl 09:26 1:17 java -Djava.security.egd=fele:/dev/./urandom -jar /app.jar root 17008 1.3 10.2 3645240 821688 ? Ssl 8月20 16:14 java -Djava.security.egd=fele:/dev/./urandom -jar /app.jar root 5291 0.0 8.9 5817000 714688 ? Ssl 7月31 26:05 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20 root 7392 0.2 6.5 3711220 521244 ? Ssl 8月20 2:53 java -Djava.security.egd=fele:/dev/./urandom -jar /app.jar root 10411 5.4 4.0 3685232 322136 ? Ssl 8月20 69:13 java -Djava.security.egd=fele:/dev/./urandom -jar /app.jar root 17227 0.2 3.1 3631168 251600 ? Ssl 8月20 2:11 java -Djava.security.egd=fele:/dev/./urandom -jar /app.jar mysql 5827 0.6 2.3 2500064 186408 ? Sl 7月31 203:53 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock root 19181 0.0 1.6 5668192 131536 ? Sl 8月20 0:37 /usr/bin/java -Djava.util.logging.config.file=/usr/local/lib/apache-tomcat-7.0.94/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Dignore.endorsed.dirs= -classpath /usr/local/lib/apache-tomcat-7.0.94/bin/bootstrap.jar:/usr/local/lib/apache-tomcat-7.0.94/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/lib/apache-tomcat-7.0.94 -Dcatalina.home=/usr/local/lib/apache-tomcat-7.0.94 -Djava.io.tmpdir=/usr/local/lib/apache-tomcat-7.0.94/temp org.apache.catalina.startup.Bootstrap start root 9378 0.3 0.8 786660 72000 ? Ssl 8月19 9:26 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ps -aux中(a指代all——所有的进程,u指代userid——执行该进程的用户id,x指代显示所有程序,不以终端机来区分)
sort -k4nr中(k代表从第几个位置开始,后面的数字4即是其开始位置,结束位置如果没有,则默认到最后;n指代numberic sort,根据其数值排序;r指代reverse,这里是指反向比较结果,输出时默认从小到大,反向后从大到小。)
本例中,可以看到%MEM在第4个位置,根据%MEM的数值进行由大到小的排序。
PID 进程的ID;%CPU 进程占用的CPU百分比;%MEM 占用内存的百分比;