上节的df/du磁盘命令操作都学过了吗?没有学过的同学请回去再看一遍。请继续上一节的学习方向。今天,我将告诉你另外两个常见命令:free/top。这两项命令也是系统巡逻的主要内容之一。

命令注释:

free 用于显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

写法

free [-bkmotV][-s <间隔秒数>]

参数注释

b/k/m 以 byte、kb、Mb三种单位显示内存使用情况

h 与 df/du 中的一样,以合适的单位来显示

t 显示内存总量

V 显示版本信息

实例

[root@Node2 ~]# free
total used free shared buffers cached
Mem: 132245036 95522316 36722720 0 153052 37447028
-/+ buffers/cache: 57922236 74322800
Swap: 2031612 280 2031332
[root@Node2 ~]# free -g
total used free shared buffers cached
Mem: 126 91 35 0 0 35
-/+ buffers/cache: 55 70
Swap: 1 0 1
[root@Node2 ~]# free -m
total used free shared buffers cached
Mem: 129145 93295 35849 0 150 36573
-/+ buffers/cache: 56572 72573
Swap: 1983 0 1983

从上面的命令显示中,大家可以对比一下不同,另外也给大家说一下,Mem(内存容量),cache(缓存),swap(交换区,类似于 windows 的虚拟内存)。这里特别注意的是 swap 分区的使用,当它满的时候,系统就会出现卡、无法正常启动应用等等问题。

命令注释

top 用于实时显示 process 的动态情况,类似 Windows 下的任务管理器。

写法

top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]top - 15:52:38 up 28 days, 20 min, 3 users, load average: 1.92, 2.21, 2.02
Tasks: 467 total, 1 running, 464 sleeping, 2 stopped, 0 zombie
Cpu(s): 3.9%us, 2.7%sy, 0.0%ni, 92.1%id, 1.3%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 132245036k total, 95598736k used, 36646300k free, 157796k buffers
Swap: 2031612k total, 280k used, 2031332k free, 37507204k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4839 root 20 0 33.1g 31g 2552 S 190.7 24.9 54929:42 qemu-kvm
4385 root 20 0 8718m 4.9g 5072 S 4.6 3.9 2582:43 qemu-kvm
55545 root 20 0 98.2m 4536 3392 S 2.0 0.0 0:17.30 sshd
4441 root 20 0 1468m 31m 2564 S 1.0 0.0 1277:27 glusterfsd
4464 root 20 0 18.2g 17g 2908 S 1.0 14.1 1226:24 glusterfs
55633 root 20 0 15468 1704 1000 S 1.0 0.0 0:10.71 top
66148 root 20 0 15340 1516 908 R 1.0 0.0 0:01.09 top
10 root 20 0 0 0 0 S 0.3 0.0 22:00.51 rcu_sched
3441 root 16 -4 91176 640 464 S 0.3 0.0 0:34.11 auditd
3771 root 20 0 0 0 0 S 0.3 0.0 62:38.65 jbd2/dm-3-8
4840 root 20 0 0 0 0 S 0.3 0.0 10:14.27 kvm-pit/4839
4904 root 0 -20 0 0 0 S 0.3 0.0 2:40.10 kworker/14:1H
55338 root 20 0 0 0 0 S 0.3 0.0 0:02.45 kworker/u240:3

上面的数据都是实时的,实际的效果看下图

top 命令显示效果

为了大家更好地理解里面的意思,就再多说两句:

图中第一二行:系统运行时间,有3个用户,其中最重要的 load average后三个数字分别为1分钟、5分钟、15分钟单核CPU 的负载系数,最重要的指标是最后一个数字,即前15分钟的平均CPU负载,这个数字越小越好。所谓CPU负载指的是一段时间内任务队列的长度,通俗地讲,就是一段时间内一共有多少任务在使用或等待使用CPU。计算方法:当前的"负载值除以cpu核数"就是cpu的利用率(比如图中所示,2.05除于32核=0.064,转换过来才6.4%的利用率)。另外也可以使用vmstat/w/uptime 来查看同样的内容,因为不常用,所以就不说了。大家可以参考下面实例:

[root@Node2 ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
4 3 280 73067296 2832 1532468 0 0 165 17 0 0 2 3 94 1 0
[root@Node2 ~]# w
16:25:06 up 28 days, 52 min, 3 users, load average: 4.81, 4.71, 3.82
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 - 08Oct21 28days 0.07s 0.07s -bash
root pts/0 172.16.11.253 15:34 2.00s 17.04s 0.02s w
root pts/1 172.16.11.253 15:34 50:10 30.58s 30.56s top
[root@Node2 ~]# uptime
16:25:23 up 28 days, 53 min, 3 users, load average: 5.64, 4.89, 3.89
[root@Node2 ~]#

图中第三行:CPU 的相关信息,主要的含义如下

%us:表示用户空间程序的cpu使用率(没有通过nice调度)

%sy:表示系统空间的cpu使用率,主要是内核程序。

%ni:表示用户空间且通过nice调度过的程序的cpu使用率。

%id:空闲cpu

%wa:cpu运行时在等待io的时间

%hi:cpu处理器中断的数量

%si:cpu处理软中断的数量

%st:被虚拟机偷走的cpu

图中第4、5行的内容:就是 命令 free 的内容了。这里不用多解说,直接向上翻来看即可。

top 的命令,说白了,跟打开windows系统里的任务管理器差不多,里面显示的内容也是一样的。都是正在运行的进程与各项(CPU/Mem/Disk)资源占用。只不过没有 Windows的那么直观与好看而已。当然,如果你认真地看完上面的文章,估计也能看明白了!不明白的,就再看多一次,最好直接上机去运行一下这个命令,然后拿着文章当对比来看。

1.《关于cs指令我想说Linux 学习笔记之常用命令free/top》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《关于cs指令我想说Linux 学习笔记之常用命令free/top》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.cxvn.com/gl/djyxgl/174209.html