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