Linux 监控命令 top
iotop
iotop -o
查看负载较高的 io
主要选项有:
-o : 只显示有 io 操作的进程
-b : 批量显示,无交互。主要用作记录到文件。
-n NUM: 显示 NUM 次,主要用于非交互式模式。
-d SEC:刷新时间
-p PID: 监控的指定进程 pid
-u USER: 监控的指定用户。
TOP
c:显示进程命令的全路径与参数
H:显示线程,默认只显示进程
输入大写 P,则结果按 CPU 占用降序排序。
输入大写 M,结果按内存占用降序排序。
输入 1 查看每个 cpu 的负载情况
A:分类显示各种系统资源高的进程。
65.7%wa, 0.0%hi, 3.4%si, 0.0%st 等待 IO 的 CPU 时间百分比,最后三个是中断请求相关
物理机的基本信息:
1、查看 CPU 信息
# 查看 cpu 负载
'uptime'
# cpu 使用率 (没有 sar 则 yum -y install sysstat)
'sar 1 1' 'top bn1 |grep %Cpu'
# 每个 cpu 使用率
'sar -P ALL 1 1' 'top 后按 1,可动态查看' # top bn1 top n1
# 查看 cpu 个数、频率、型号、厂商等详细信息
'cat /proc/cpuinfo' 'lscpu'
# 获取 cpu 名称与主频
cat /proc/cpuinfo | grep 'model name' | cut -f2 -d: | head -n1 | sed 's/^ //'
# 获取逻辑核数
cat /proc/cpuinfo | grep 'model name' | wc -l
# 获取物理核数
cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l
# 查看 cpu 的 flags
cat /proc/cpuinfo | grep flags | uniq | cut -f2 -d : | sed 's/^ //'
# 是否打开超线程(检查 physical id * cpu cores 与 processor 的比例 1:1 为未开启)
cat /proc/cpuinfo
CPU 负载‘load average: 0.02, 0.04, 0.05’,具体指的什么意思?
以单核 CPU 说明:
0.02, 0.04, 0.05 是 1 分钟、5 分钟、15 分钟内系统的平均负荷
假设:CPU 每分钟最多处理 100 个进程
当负荷 0.2,则 CPU 在这 1 分钟里只处理 20 个进程
当负荷 1.0,则 CPU 在这 1 分钟里正好处理 100 个进程
当负荷 1.7,则 CPU 正在处理的 100 个进程以外,还有 70 个进程正排队等着 CPU 处理
很显然:单核的话,1.0 是一个关键值,当这个值达到 0.7,就应当引起注意。问题出在哪里,防止情况恶化
当负荷达到 5.0,就表明你的系统有很严重的问题
详细说明 Linux 系统负荷
2、内存、硬盘信息
内存信息
'cat /proc/meminfo'
内存使用
'free -m'
内存使用率
'sar -r 1 1'
磁盘容量、使用率
'df -hT'
3、网络相关信息
物理网卡个数
'lspci |grep Ethernet |wc -l'
每块网卡信息
'lspci |grep Ethernet'
网卡 IP
ip addr |grep "inet.*brd" |grep -E "eth|en| br0"
默认网关
route -n |grep '^0.0.0.0' | awk '{print $2}'
DNS 信息
'cat /etc/resolv.conf |grep ^nameserver'
4、操作系统信息,其他信息
OS 版本信息
'cat /etc/issue' 'uname -a'
cat /proc/version
cat /proc/stat
由 md 设备驱动程序控制的 RAID 设备信息
cat /proc/mdstat
可加载内核模块的信息
cat /proc/modules
查看命令属于哪个安装包:
安装机器上:
例如,sar 命令没有,需要安装那个包。找一个有 sar 命令的机器。
[root@localhost ~]# which sar # 查找命令路径
/usr/bin/sar
[root@localhost ~]# rpm -qf /usr/bin/sar # rpm 命令查看安装包
sysstat-10.1.5-7.el7.x86_64
“rpm-qf” 命令查询命令文件所属的软件包,rpm 命令要以命令文件的全路径为参数
未安装机器上:
例如:route 命令,需要安装哪个包
yum whatprovides */ 命令名 (联网查找,显示信息多,需要筛选)
[root@localhost ~]# yum whatprovides */route