Linux日常应用管理之常用系统命令

Linux常用系统命令

一、监控系统的状态
1.使用W查看当前系统的负载
在这里插入图片描述

w是Linux管理员最常用的命令,该命令显示的信息挺丰富的。第一行从左面开始显示的信息依次为:时间,系统运行时间;登录用户数,平均负载。第二行开始以及下面所有的行,告诉用户的信息是,当前登录的都有哪些用户,以及是从哪里登录的等等。而在这些信息当中,最应该关注的应该是第一行中的“load average:”后面的三个数值。
第一个数值表示1分钟内系统的平均负载值;第二个数值表示5分钟内系统的平均负载值;第三个数值表示15分钟系统的平均负载值。这个值的意义是,单位时间段内CPU活动进程数。当然这个值越大就说明用户的服务器压力越大。一般情况下这个值只要不超过服务器的CPU数量就没有关系,如果服务器CPU数量为8,那么这个值若小于8,就说明当前服务器没有压力,否则就要关注一下了。接下来,查看服务器有几个CPU,命令如下:

[root@ftp hi]# cat /proc/cpuinfo |head -n20
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 142
model name	: Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz
stepping	: 12
microcode	: 0xb8
cpu MHz		: 1800.000
cache size	: 6144 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 22
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec arat spec_ctrl intel_stibp flush_l1d arch_capabilities

proc/cpuinfo这个文件记录了CPU的详细信息。目前市面上的服务器通常都是2颗4核CPU,在Linux看来,它就是8个CPU。查看这个文件时则会显示类似上述代码样子的8段信息,而最后一段信息中processor: 7,所以查看当前系统有几个CPU,可以如下命令:

 grep -c 'processor' /proc/cpuinfo

而查看几颗物理CPU,需要查看关键字physical id, 由于此处的虚拟机只有2个CPU所以并未显示关于physical id的信息。

2.使用 vmstat 监控系统的状态

[root@ftp hi]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 243956   2108 189920    0    0    54     4   61  114  0  1 99  0  0

上面讲的 w 查看的是系统整体上的负载,通过看那个数值可以知道当前系统有没有压力。具体查看哪里有压力(CPU、内存、磁盘等),则需要通过vmstat。vmstat命令打印的结果共分为6部分:procs、memory、swap、io、system、 cpu. 请重点关注一下r、b、si、so、bi、bo几列。
(1)procs显示进程相关信息
● r:表示运行和等待CPU时间片的进程数,如果长期大于服务器CPU的个数,则说明CPU不够用了;
● b:表示等待资源的进程数,比如等待I/O, 内存等,这列的值如果长时间大于1,则需要关注一下了。
(2)memory内存相关信息
● swpd:表示切换到交换分区中的内存数量 ;
● free:当前空闲的内存数量;
● buff:缓冲大小,(即将写入磁盘的);
● cache:缓存大小,(从磁盘中读取的)。
(3)swap内存交换情况
● si:由交换区写入到内存的数据量;
● so:由内存写入到交换区的数据量。
(4)io磁盘使用情况
● bi:从块设备读取数据的量(读磁盘);
● bo:从块设备写入数据的量(写磁盘)。
(5)system显示采集间隔内发生的中断次数
● in:表示在某一时间间隔中观测到的每秒设备中断数;
● cs:表示每秒产生的上下文切换次数。
(6)CPU 显示CPU的使用状态
● us:显示了用户下所花费CPU时间的百分比;
● sy:显示系统花费CPU时间百分比;
● id:表示CPU处于空闲状态的时间百分比;
● wa:表示I/O等待所占用CPU时间百分比;
● st:表示被偷走的CPU所占百分比(一般都为0,不用关注)。
以上所介绍的各个参数中,需要经常关注r列、b列和wa列,这3列代表的含义在上边说得已经很清楚。io部分的bi以及bo也是要经常参考的对象。如果磁盘io压力很大时,这两列的数值会比较高。另外当si、 so两列的数值比较高,并且在不断变化时,说明内存不够了,内存中的数据频繁交换到交换分区中,这往往对系统性能影响极大。
使用vmstat查看系统状态的时候,通常都是使用这样的形式,如图:
在这里插入图片描述
上图的代码表示,每隔一秒钟打印一次状态,共打印5次。

3.top 显示进程所占系统资源

[root@ftp ~]# top
top - 08:40:40 up 38 min,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 127 total,   1 running, 126 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   995924 total,   243652 free,   559912 used,   192360 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   251260 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                  
    52 root      20   0       0      0      0 S   0.3  0.0   0:01.67 kworker/0:2              
     1 root      20   0  128016   6608   4136 S   0.0  0.7   0:01.36 systemd                  
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd                 
     3 root      20   0       0      0      0 S   0.0  0.0   0:00.09 ksoftirqd/0              
     5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H             
     7 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 migration/0              
     8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh                   
     9 root      20   0       0      0      0 S   0.0  0.0   0:01.24 rcu_sched                
    10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 lru-add-drain            
    11 root      rt   0       0      0      0 S   0.0  0.0   0:00.01 watchdog/0               
    12 root      rt   0       0      0      0 S   0.0  0.0   0:00.01 watchdog/1               
    13 root      rt   0       0      0      0 S   0.0  0.0   0:00.01 migration/1              
    14 root      20   0       0      0      0 S   0.0  0.0   0:00.02 ksoftirqd/1              
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值