几个用来了解Linux系统的性能概况的Linux命令


Linux系统有一些基础的命令可以很好的用于服务器的监测。

只作简单介绍,具体用法可通过–help查看或查阅相关资料

网络:ifconfig,netstat 磁盘:df CPU:w 进程:ps 内存:free I/O:iostat

ifconfig


输入ifconfig,输出结果为:

eth0: flags=4163  mtu 1500
        inet 10.144.81.226  netmask 255.255.240.0  broadcast 10.144.95.255
        ether 00:16:3e:02:04:ba  txqueuelen 1000  (Ethernet)
        RX packets 69775  bytes 91364566 (87.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 26057  bytes 1937311 (1.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 0  (Local Loopback)
        RX packets 286  bytes 32054 (31.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 286  bytes 32054 (31.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

结果中显示了服务器的网卡数量、IP地址、MAC地址、MTU的大小、网卡收发包的情况。
ethX(x为0,1,2……),有几个就有几张网卡;inet就是IP地址,netmask是子网掩码,broadcast是广播地址

netstat


netstat是查看网络相关数据的命令,

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State    Timer
tcp        0      0 127.0.0.1:8005          0.0.0.0:*               LISTEN    off (0.$
tcp        0      0 0.0.0.0:8009            0.0.0.0:*               LISTEN    off (0.$
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN    off (0.$
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN    off (0.$
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN    off (0.$
tcp        0      0 115.28.204.58:58433     42.156.166.25:80        ESTABLISHED off (0.$
tcp        0     52 115.28.204.58:22        59.71.67.114:21489      ESTABLISHED on (0.4$
udp        0      0 115.28.204.58:123       0.0.0.0:*                off (0.$
udp        0      0 10.144.81.226:123       0.0.0.0:*                off (0.$
udp        0      0 127.0.0.1:123           0.0.0.0:*                off (0.$
udp        0      0 0.0.0.0:123             0.0.0.0:*                off (0.$
udp6       0      0 :::123                  :::*        

可以用来查看服务器上所有的网络层连接状况。

w


w命令用于查看服务器的负载情况,输入w,命令输出如下:

16:59:52 up 4 days, 18:20,  1 user,  load average: 0.09, 0.04, 0.05
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0     16:51    0.00s  0.06s  0.00s w

结果中包括服务器的运行时间(4 days,18:20),用户数量,当前用户及其运行的程序,load average的三个值分别是1分钟、5分钟、10分钟的平均负载。

系统每5s记录系统中当前正在运行的任务和正在等待磁盘I/O的任务数,每1分钟、5分钟、10分钟计算一次平均值,这个值就是平均负载。

df


df命令用于查看磁盘的情况,输入df -h

Filesystem    Size  Used Avail Use% Mounted on
/dev/xvda1     40G  2.1G   36G   6% /
devtmpfs        489M     0  489M   0% /dev
tmpfs           497M     0  497M   0% /dev/shm
tmpfs           497M   19M  478M   4% /run
tmpfs           497M     0  497M   0% /sys/fs/cgroup
tmpfs           100M     0  100M   0% /run/user/0

可看到磁盘使用情况,挂载盘的目录等。

free


free命令用于查看内存状态

                    total     used       free     shared    buffers     cached
Mem:       1016656     940168       76488      19384     114052     543612
-/+ buffers/cache:     282504     734152
Swap:            0          0          0

可以看出总内存大小,已使用的内存和剩余内存。

swap是交换分区,可理解为虚拟内存

iostat


io即I/O,这个命令是用来输出I/O相关的数据的,输入iostat -x

Linux 3.10.0-123.9.3.el7.x86_64 (iZ28yqvmjkrZ)  03/20/2016    _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.19    0.00    0.13    0.06    0.16   99.47

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   a$
xvda              0.00     0.17    0.10    0.33     0.94     5.14    28.83     0.01   2$

Device表示的是磁盘设备的数据

ps


这个命令用于查看进程信息,输入 ps -aux

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.3 188792  3804 ?        Ss   Mar15   0:10 /usr/lib/systemd/syste$
root         2  0.0  0.0      0     0 ?        S    Mar15   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Mar15   0:01 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   Mar15   0:00 [kworker/0:0H]
root         7  0.0  0.0      0     0 ?        S    Mar15   0:00 [migration/0]
root         8  0.0  0.0      0     0 ?        S    Mar15   0:00 [rcu_bh]
root         9  0.0  0.0      0     0 ?        S    Mar15   0:00 [rcuob/0]
……

可以输出进程标识符、CPU、内存等的使用情况。

ps的参数很多,记住几个常用的,有特殊需求时再查阅资料

相关内容