51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

linux查看cpu和内存占用

# linux 查看 cpu 和内存占用 {#linux-查看-cpu-和内存占用}

本文总结了查看 linux 系统的 cpu 或内存占用情况的常用方法。

# top {#top}

top 命令可以同时查看 cpu 和内存使用情况

top - 14:09:53 up  4:29,  6 users,  load average: 1.10, 0.93, 0.69
Tasks: 309 total,   1 running, 307 sleeping,   0 stopped,   1 zombie
%Cpu(s):  1.6 us,  6.6 sy,  1.0 ni, 90.0 id,  0.5 wa,  0.0 hi,  0.2 si,  0.0 st
KiB Mem : 16336104 total,   547904 free,  9164624 used,  6623576 buff/cache
KiB Swap:  3905532 total,  3893976 free,    11556 used.  6312108 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
11075 wangshi+  20   0 5820888 3.101g 2.997g S  23.8 19.9  60:14.94 VirtualBoxVM
 1966 root      20   0  554264 156284  80680 S   2.6  1.0   5:19.19 Xorg
 3833 wangshi+  20   0 3264888 126952  67944 S   2.6  0.8   5:29.31 kwin_x11
 8317 wangshi+  20   0 6227920 970480  72868 S   2.3  5.9   3:58.14 java

# htop {#htop}

htop 是 top 的升级版,可以图形化形式显示,更直观。但是系统默认不会安装。 20200619141211.png

# free 命令查看内存占用 {#free-命令查看内存占用}

free -h

(py3.6) wangshibiao@wangshibiao:~$ free -h
              total        used        free      shared  buff/cache   available
Mem:            15G        8.9G        425M        372M        6.2G        5.8G
Swap:          3.7G         11M        3.7G
(py3.6) wangshibiao@wangshibiao:~$

提示

从应用程序角度看,真正剩余内存并非 free 列的值,而是 available 列的值
available 不仅包含未使用内存,还包括了可回收的缓存,所以一般会比未使用内存更大。不过,并不是所有缓存都可以回收,因为有些缓存可能正在使用中。公式如下:
available = free + (buff/cache 通过一个算法后产生的值)

# 一条命令查看 cpu 和内存使用率 {#一条命令查看-cpu-和内存使用率}

echo -e $(top -n 2 | grep Cpu | tail -n 1 | sed 's/ //g' | awk -F , '{print $4}' | awk -F 'id' '{print "CpuFree:"$1"%"}')'\nMemFree:'$(MemFree=$(($(cat /proc/meminfo | egrep "MemFree" | sed 's/[^0-9]//g')+$(cat /proc/meminfo | egrep "Buffers" | sed 's/[^0-9]//g')+$(cat /proc/meminfo | egrep "^Cached" | sed 's/[^0-9]//g'))) && MemTotal=$(cat /proc/meminfo | egrep "MemTotal" | sed 's/[^0-9]//g') && awk 'BEGIN{printf "%.2f%\n", '$MemFree/$MemTotal*100'}')

(py3.6) wangshibiao@wangshibiao:~$ echo -e $(top -n 2 | grep Cpu | tail -n 1 | sed 's/ //g' | awk -F , '{print $4}' | awk -F 'id' '{print "CpuFree:"$1"%"}')'\nMemFree:'$(MemFree=$(($(cat /proc/meminfo | egrep "MemFree" | sed 's/[^0-9]//g')+$(cat /proc/meminfo | egrep "Buffers" | sed 's/[^0-9]//g')+$(cat /proc/meminfo | egrep "^Cached" | sed 's/[^0-9]//g'))) && MemTotal=$(cat /proc/meminfo | egrep "MemTotal" | sed 's/[^0-9]//g') && awk 'BEGIN{printf "%.2f%\n", '$MemFree/$MemTotal*100'}')
CpuFree:85.0%
MemFree:38.39%
(py3.6) wangshibiao@wangshibiao:~$
赞(0)
未经允许不得转载:工具盒子 » linux查看cpu和内存占用