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 占用內存的百分比;