Linux常用系统命令

Linux常用系统命令

任务 监控系统的状态
任务描述
主要实现的是查看查看系统负载信息和查看系统内存、网卡、进程等信息。
任务实施
使用w查看当前系统的负载

[root@VM_10_10_centos ~]# w
 19:27:11 up 42 days,  3:40,  1 user,  load average: 0.01, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    49.78.212.159    19:27    0.00s  0.00s  0.00s w

[root@VM_10_10_centos ~]# cat /proc/cpuinfo |head -n20
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 63
model name      : Intel(R) Xeon(R) CPU E5-26xx v3
stepping        : 2
microcode       : 1
cpu MHz         : 2394.454
cache size      : 4096 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
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 lm constant_tsc rep_good unfair_spinlock 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 xsaveopt pti retpoline bmi1 avx2 bmi2

使用 vmstat 监控系统的状态

[root@VM_10_10_centos ~]# vmstat 
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 183360 242760 1717108    0    0    13    16    3    3  1  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,不用关注)。

[root@VM_10_10_centos ~]# vmstat  1 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 180632 243168 1718188    0    0    13    16    3    3  1  1 99  0  0
 0  0      0 180456 243168 1718188    0    0     0     0  893 2493  1  0 99  0  0
 0  0      0 180124 243168 1718188    0    0     0    88 1193 2755  1  1 98  0  0
 0  0      0 180556 243168 1718196    0    0     0     0 1062 2564  0  1 99  0  0
 0  0      0 180704 243168 1718200    0    0     0     0  944 2534  0  0 99  0  0

top 显示进程所占系统资源

[root@VM_10_10_centos ~]# top 
top - 19:39:46 up 42 days,  3:53,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 189 total,   1 running, 188 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.4%us,  0.4%sy,  0.0%ni, 99.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8059000k total,  7878848k used,   180152k free,   243384k buffers
Swap:        0k total,        0k used,        0k free,  1718860k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                             
 9028 root      20   0 5655m 826m 5244 S  0.7 10.5 279:10.10 java                                                                                
 2068 rabbitmq  20   0 3261m  77m 1864 S  0.3  1.0 150:56.04 beam.smp                                                                            
 2230 mongod    20   0  487m  50m  16m S  0.3  0.6 182:30.69 mongod                                                                              
 2565 root      20   0  717m  10m 1464 S  0.3  0.1 253:46.21 barad_agent                                                                         
 3207 root      20   0 5700m 757m 4568 S  0.3  9.6 271:12.50 java                                                                                
18619 999       20   0 2271m 336m 5500 S  0.3  4.3 112:13.84 mysqld                                                                              
28909 root      20   0 15024 1404 1008 R  0.3  0.0   0:00.01 top                                                                                 
31640 root      20   0 5647m 683m 4600 S  0.3  8.7 338:10.21 java                                                                                
    1 root      20   0 19356  632  312 S  0.0  0.0   1:21.39 init                                                                                
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd                                                                            
    3 root      RT   0     0    0    0 S  0.0  0.0   0:21.01 migration/0                                                                         
    4 root      20   0     0    0    0 S  0.0  0.0   0:11.48 ksoftirqd/0                                                                         
    5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/0                                                                           
    6 root      RT   0     0    0    0 S  0.0  0.0   0:03.55 watchdog/0                                                                          
    7 root      RT   0     0    0    0 S  0.0  0.0   0:23.44 migration/1

这个命令用于动态监控进程所占系统资源,每隔3秒变一次。这个命令的特点是把占用系统资源(CPU、内存、磁盘IO等)最高的进程放到最前面。

另外,经常会用的一个命令top -bn1。它表示非动态打印系统资源使用情况,示例代码如下

[root@VM_10_10_centos ~]# top -bn1
top - 19:41:21 up 42 days,  3:54,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 189 total,   1 running, 188 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.6%us,  0.5%sy,  0.0%ni, 98.7%id,  0.1%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8059000k total,  7880108k used,   178892k free,   243528k buffers
Swap:        0k total,        0k used,        0k free,  1719324k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                             
 9028 root      20   0 5655m 826m 5244 S  2.0 10.5 279:10.61 java                                                                                
18059 nobody    20   0 2403m 141m  23m S  2.0  1.8  37:25.14 httpd                                                                               
    1 root      20   0 19356  632  312 S  0.0  0.0   1:21.39 init                                                                                
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd                                                                            
    3 root      RT   0     0    0    0 S  0.0  0.0   0:21.01 migration/0                                                                         
    4 root      20   0     0    0    0 S  0.0  0.0   0:11.48 ksoftirqd/0                                                                         
    5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/0                                                                           
    6 root      RT   0     0    0    0 S  0.0  0.0   0:03.55 watchdog/0                                                                          
    7 root      RT   0     0    0    0 S  0.0  0.0   0:23.44 migration/1                                                                         
    8 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/1                                                                           
    9 root      20   0     0    0    0 S  0.0  0.0   0:16.03 ksoftirqd/1    

和 top 命令唯一的区别就是,它一次性全部把所有信息输出出来而非动态显示。
free查看内存使用状况

[root@VM_10_10_centos ~]# free
             total       used       free     shared    buffers     cached
Mem:       8059000    7808688     250312      22676     198580    1696644
-/+ buffers/cache:    5913464    2145536
Swap:            0          0          0                 

ps 查看系统进程

 [root@VM_10_10_centos ~]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  19356   632 ?        Ss   Feb12   1:21 /sbin/init
root         2  0.0  0.0      0     0 ?        S    Feb12   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Feb12   0:21 [migration/0]
root         4  0.0  0.0      0     0 ?        S    Feb12   0:11 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S    Feb12   0:00 [stopper/0]
root         6  0.0  0.0      0     0 ?        S    Feb12   0:03 [watchdog/0]
root         7  0.0  0.0      0     0 ?        S    Feb12   0:23 [migration/1]
root         8  0.0  0.0      0     0 ?        S    Feb12   0:00 [stopper/1]
root         9  0.0  0.0      0     0 ?        S    Feb12   0:16 [ksoftirqd/1]
root        10  0.0  0.0      0     0 ?        S    Feb12   0:03 [watchdog/1]
root        11  0.0  0.0      0     0 ?        S    Feb12   0:21 [migration/2]
root        12  0.0  0.0      0     0 ?        S    Feb12   0:00 [stopper/2]
root        13  0.0  0.0      0     0 ?        S    Feb12   0:12 [ksoftirqd/2]
root        14  0.0  0.0      0     0 ?        S    Feb12   0:03 [watchdog/2]
root        15  0.0  0.0      0     0 ?        S    Feb12   0:19 [migration/3]
```。。。00000000000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值