Linux查看內存和cpu使用


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

  VSZ 進程使用的虛擬內存量(KB);
  RSS 該進程占用的固定內存量(KB)
  TTY 該進程在那個終端上運行(登入者的終端機位置),若無終端無關,則顯示(?)
  START 該進程被觸發啟動時間;
  COMMAND 命令的名稱和參數;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM