free查看内存使用情况
free [-b|-k|-m|-g|-h] [-t] [-s N -c N]
选项与参数:
-b:单位参数;默认是用 k,其他单位对应 bytes、Mbytes、Kbytes、Gbytes
-t: 输出的最终结果,显示物理内存与 swap 的总量
-s:可以让系统每几秒输出一次,不间断输出;
-c:与 -s 同时处理,让 free 列出几次
# 范例 1:显示目前系统的内存容量
[root@study ~]# free -m
# 总内存 已使用 剩余 可用
total used free shared buff/cache available
Mem: 7631 713 6374 15 542 6671
Swap: 4095 0 4095
uname查看系统核心信息
uname [-asrmpi]
选项与参数:
-a:所有系统相关的,都列出来
-s:系统核心名称
-r:核心的版本
-m:本系统的硬件名称,例如 i686 或 x86_64
-p:CPU 的类型,与 -m 类似
-i:硬件的平台(ix86)
[root@localhost /]# uname -a
Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
uptime观察系统启动时间与工作负载
[root@study ~]# uptime
17:31:46 up 43 min, 2 users, load average: 0.00, 0.01, 0.05
# 当前时间 已开机多久 几个用户登录 平均负载:1、5、15 分钟的平均负载
netstat追踪网络或插槽文件
首先安装以下工具
yum install net-tools -y
netstat -[atunlp]
选项与参数:
-a:将目前系统上所有的联机、监听、Socket 数据都列出来
-t:列出 tcp 网络封包的数据
-u:列出 udp 网络封包的数据
-n:不以进程的服务名称,以端口号来显示
-l:列出目前正在网络监听的(listen)的服务
-p:列出该网络服务的进程 PID
# 范例 1:列出目前系统上已经建立的网络连接与 unix socket 状态
[root@study ~]# netstat
Active Internet connections (w/o servers) # 与网络相关部分
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 36 study.centos.mrcode:ssh 192.168.4.170:50821 ESTABLISHED
Active UNIX domain sockets (w/o servers) # 与本机的进程自己的相关性(非网络)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ] DGRAM 12644 /run/systemd/shutdownd
unix 3 [ ] DGRAM 7618 /run/systemd/notify
unix 2 [ ] DGRAM 7620 /run/systemd/cgroups-agent
unix 5 [ ] DGRAM 7634 /run/systemd/journal/socket
网络联机部分:
- Proto:网络封包协议,主要分为 TCP 与 UDP。
- Recv-Q:非由用户程序连接到此 socket 的复制和总 Bytes 数
- Send-Q:非由远程主机传送过来的 acknowledged 总 Bytes 数
- Local Address:本地端的 Ip:port
- Foreign Address:远程主机的 IP:port
- State:联机状态,主要有建立(ESTABLISED)、监听(LISTEN)
vmstat侦测系统资源变化
vmstat 可以侦测 CPU、内存、磁盘输入输出状态等信息。
vmstat [-a] [延迟 [总计侦测次数]] # CPU/内存等信息
vmstat [-fs] # 内存相关
vmstat [-S 单位] # 设置显示数据的单位
vmstat [-d] # 与磁盘有关
vmstat [-p 分区槽] # 与磁盘有关
选项与参数:
-a:使用 inactive/active(是否活跃)取代 buffer/cache 的内存输出信息
-f:开机到目前为止,系统复制(fork)的进程数
-s:将一些事件(开机到目前为止)导致的内存变化情况列表说明
-S:后面可以接单位,例如 k、M 等
-d:列出磁盘的读写总量统计表
-p:后面列出分区槽,可显示该分区槽的读写总量统计表
# 范例 1:统计目前主机 CPU 状态,每秒一次,总共 3 次
[root@study ~]# vmstat 1 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 0 450296 2116 346828 0 0 501 36 181 320 2 3 95 0 0
0 0 0 450156 2116 346860 0 0 0 0 163 223 2 3 95 0 0
0 0 0 450156 2116 346860 0 0 0 0 273 388 3 5 91 0 0
# 范例 2:系统上面所有的磁盘读写状态
[root@study ~]# vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
sda 7640 1 709893 6377 2486 351 54323 8478 0 5
sdb 116 0 5384 27 0 0 0 0 0 0
sr0 0 0 0 0 0 0 0 0 0 0
dm-0 7072 0 661717 6054 2611 0 45902 10871 0 5
dm-1 88 0 4408 21 0 0 0 0 0 0
dm-2 103 0 10834 58 23 0 4325 56 0 0