Skip to content

19 查看系统资源

除了top命令外,还有许多其他工具来查看系统资源。

1. free:查看内存

free [options]

OPTIONS
    -b, --bytes     
    -k, --kilo          Display the amount of memory in kilobytes.  This is the default.
    -m, --mega
    -g, --giga
    --tera              Display the amount of memory in terabytes.
    --peta              Display the amount of memory in petabytes.
    -h, --human
    -s, --seconds seconds
    -c, --count count   显示 count 次结果,与 -s 选项配合使用。
# 每隔一秒钟打印一次,共打印三次
[root@dev ~]# free -h -s 1 -c 3
              total        used        free      shared  buff/cache   available
Mem:            15G        3.9G        7.5G        203M        4.1G         11G
Swap:          5.0G          0B        5.0G

# 下面还有两次结果

系统是很有效率的将所有的内存用光,目的是为了让系统的存取效能加速。

一般来说,swap 最好不要被使用,尤其 swap 最好不要被使用超过 20% 以上。

2. uname:查看系统与内核相关信息

3. uptime:查看系统启动时间与工作负载

开机多久的时间,以及 1, 5, 15 分钟的平均负载。

[root@dev ~]# uptime 
 10:28:07 up 3 days,  1:47, 10 users,  load average: 0.19, 0.26, 0.18

4. netstat:追踪网络或socket文件

netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships。打印网络连接、路由表、接口统计信息、伪装连接和多播成员身份

OPTIONS
    -a, --all           Show both listening and non-listening
    --tcp|-t
    --udp|-u
    -l, --listening     Show only listening sockets.默认选项
    -p, --program       Show the PID and name of the program to which each socket belongs.
    --numeric , -n      显示数字地址,而不是尝试确定主机名、端口或用户名。
[root@dev ~]# netstat -a
# 网络相关部分
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:ipp           0.0.0.0:*               LISTEN
……
# 与本机进程相关的部分
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     37636    /run/user/0/pulse/native
……
[root@dev ~]# netstat -tlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 localhost:ipp           0.0.0.0:*               LISTEN      1863/cupsd
[root@dev ~]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1863/cupsd

各字段的意义在man文档中有说明。

5. dmesg:分析内核产生的信息

所有核心侦测的信息,不管是开机时候还是系统运作过程中,反正只要是内核产生的信息,都会被记录到内存中的某个保护区段。 dmesg 这个指令就能够将该区段的讯息读出来。

[root@dev ~]# dmesg | less

6. vmstat:侦测系统资源变化

vmstat [options] [delay [count]]

Options
    -S, --unit <char>      指定显示的单位来取代 bytes
    内存、cpu相关
    -a, --active           active/inactive memory,会替换掉 buff/cache 内容
    磁盘相关
    -d, --disk             disk statistics
    -D, --disk-sum         summarize disk statistics
    分区相关
    -p, --partition <dev>  partition specific statistics
[root@dev ~]# 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 7611460   3148 4250592    0    0     2     3    8   17  1  0 99  0  0
[root@dev ~]# vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
sda    62602    130 7012896 1024816 201578  33374 14596157 6508528      0    811
sdb      126      0    5960    1166      0      0       0       0      0      1
sr0        0      0       0       0      0      0       0       0      0      0
dm-0   61533      0 6943670 1026663 234973      0 14592020 10361125      0    810
dm-1     130      0    6472     528      0      0       0       0      0      0
[root@dev ~]# vmstat -p /dev/sda1
sda1          reads   read sectors  writes    requested writes
                1170      54130         10       4137
# 每隔1秒输出一次,共输出两次
[root@dev ~]# vmstat 1 2
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 7637540   3148 4252844    0    0     2     3    9   18  1  0 99  0  0
 0  0      0 7637540   3148 4252844    0    0     0     0  783 1097  2  1 98  0  0