大家好,今天来讲讲如何查看Linux系统的负载命令
目录
前言
我们在平常的工作与生活中需要去衡量服务器的性能,以便于针对不同的使用场景来选择硬件适配的服务器,这时候就需要去查看系统的负载,本文大致从6个指令来针对服务器的各项参数来进行负载的查看。
一、系统负载是什么?
负载(load)是linux机器的一个重要指标,直观了反应了机器当前的状态。
简单解释一下:在LINUX系统中,系统负载是对当前CPU工作量的度量,被定义为特定时间间隔内运行队列中的平均线程数。load average 表示机器一段时间内的平均load。这个值越低越好。负载过高会导致机器无法处理其他请求及操作,甚至导致死机。
关于负载(load)的说明部分的原文链接:https://blog.csdn.net/weixin_67588007/article/details/125171365
二、操作系统负载查看
1.top
进程状态显示和控制,每5s中自动刷新一次(动态显示),退出top按q
代码如下(示例):
[root@localhost ~]# top
top - 09:09:07 up 31 min, 1 user, load average: 0.06, 0.05, 0.19
Tasks: 322 total, 1 running, 321 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 1.0 sy, 0.0 ni, 98.0 id, 0.0 wa, 0.7 hi, 0.0 si, 0.0 st
MiB Mem : 1800.6 total, 136.6 free, 1288.5 used, 375.6 buff/cache
MiB Swap: 2089.0 total, 2057.5 free, 31.5 used. 344.4 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2296 root 20 0 2620300 158800 82936 S 1.0 8.6 0:08.01 gnome-s+
1011 root 20 0 291144 11272 9696 S 0.3 0.6 0:01.07 vmtoolsd
2654 root 20 0 534116 33316 26460 S 0.3 1.8 0:01.27 vmtoolsd
2784 root 20 0 530476 40928 30032 S 0.3 2.2 0:00.81 gnome-t+
1 root 20 0 245620 13388 8752 S 0.0 0.7 0:02.37 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par+
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker+
8 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_perc+
9 root 20 0 0 0 0 S 0.0 0.0 0:00.06 ksoftir+
10 root 20 0 0 0 0 I 0.0 0.0 0:00.15 rcu_sch+
11 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migrati+
12 root rt 0 0 0 0 S 0.0 0.0 0:00.00 watchdo+
13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0
15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmp+
16 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 netns
2.uptime
命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、 目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载
代码如下(示例):
[root@localhost ~]# uptime
08:40:12 up 2 min, 1 user, load average: 2.61, 1.10, 0.42
3.free
可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区
空闲内存:available = free + buffer(缓冲) + cache(缓存)
代码如下(示例):
[root@localhost ~]# free
total used free shared buff/cache available
Mem: 1843832 1304124 109076 10764 430632 368716
Swap: 2139132 32512 2106620
4.mpstat
mpstat 是Multiprocessor Statistics的缩写,是一种实时系统监控工具。mpstat命令会输出CPU的一些统计信息,这些信息存放在/proc/stat文件中。
在多CPU的系统里,此命令不但能用来查看所有CPU的平均状况信息,而且还能够用来查看特定CPU的信息。
mpstat命令的最大特点是:可以查看多核心CPU中每个计算核心的统计数据,而类似命令vmstat只能查看系统整体的CPU情况。
代码如下(示例):
[root@testdb62 ~]# mpstat
Linux 3.10.0-1062.el7.x86_64 (testdb62) 12/28/2020 _x86_64_ (4 CPU)
11:08:33 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
11:08:33 AM all 0.10 0.00 0.07 0.02 0.00 0.00 0.00 0.00 0.00 99.82
(由于作者本机的虚拟机没有安装相关文件所以关于CPU信息统计(mpstat)的说明与代码部分的原文来自:mpstat - 屠魔的少年终究成魔 - 博客园)
5.ifstat
是统计网络接口流量状态的工具
代码如下(示例):
[root@localhost ~]# ifstat
#kernel
Interface RX Pkts/Rate TX Pkts/Rate RX Data/Rate TX Data/Rate
RX Errs/Drop TX Errs/Drop RX Over/Rate TX Coll/Rate
lo 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
ens160 5483 0 723 0 2150K 0 54048 0
0 0 0 0 0 0 0 0
virbr0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
6.df
查看磁盘的使用率
代码如下(示例):
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 905220 0 905220 0% /dev
tmpfs 921916 0 921916 0% /dev/shm
tmpfs 921916 9948 911968 2% /run
tmpfs 921916 0 921916 0% /sys/fs/cgroup
/dev/nvme0n1p3 23755436 5409900 18345536 23% /
/dev/nvme0n1p1 301728 163084 138644 55% /boot
tmpfs 184380 1168 183212 1% /run/user/42
tmpfs 184380 5788 178592 4% /run/user/0
总结
以上六种操作命令使用的场合各不相同,但总有一种会是我们所需要的,希望本篇文章对于刚接触到Linux操作系统的小白们会有所帮助,如果你感觉写得还不错的话就留下你的赞,或者有什么问题或建议也可以在评论区来发表你的见解,这将会是我更新的动力!