linux性能管理

常用命令

top

top 查询进程占用资源情况
排序

命令功能
P以占据CPU的百分比进行排序,%CPU
M以 占据内存百分比进行排序 ,%MEM
T以累积占据CPU时间排序 ,TIME+

首部信息切换命令

首部信息命令
uptime信息l(小写字母l)
tasks及CPU信息t
CPU分别显示1(数字)
memory信息m

CPU显示信息

显示信息含义
usCPU用户空间使用率
syCPU内核空间使用率
ni调整nice时间
idCPU空闲百分比
wa等待IO时间
hi硬中断
si软中断(模式切换)
st虚拟机偷走的时间

选项

选项含义
-d #指定刷新时间,默认为3s
-b显示所以有的进程
-n #刷新多少次后退出
-H线程模式

free

free 查询空闲和已用内存信息
选项解释

选项含义
-h易读格式
-s n刷新时间间隔
-c n刷新n次后即退出
-t显示RAM + swap的总和
输出解释
列名含义
total物理内存总大小
used物理内存使用大小
free物理内存空闲大小
shared共享内存总大小
buffer/cache缓冲大小,buffer写缓冲,cache读缓冲
available程序可用缓冲大小,等于物理可用内存+缓冲大小

echo 3 > /proc/sys/vm/drop_caches 释放缓冲

vmstat

vmstat 查询虚拟内存信息
vmstat [选项] [delay [count]]

选项含义
-S显示单位,默认为KB,支持m、M
-w宽格式输出
-s值:键方式输出
列名含义
(procs)r可运行(正运行或等待运行)进程的个数,和核心数有关
b处于不可中断睡眠的进程个数(被阻塞的队列长度)
(memory)swpd交换内存的使用总量
free空闲物理内存总量
buffer用于buffer的内存总量
cache用于cache的内存总量
(swap)si从磁盘交换进内存的数据速率(kb/s)
so从内存交换至磁盘的数据速率(kb/s)
(io)bi从块设备读入数据倒系统的速率(kb/s)
bo保存数据至块设备的速率
(system)ininterrupts中断速率,包括时钟
cscontext switch进程切换速率
(CPU)us运行非内核代码花费的时间
sy运行内核代码花费的时间
id空闲时间
waio等待时间
st虚拟机窃取的时间

iostat

iostat 查询设备和分区的相关信息
iostat [选项] [device] [interval [count]]

选项含义
-c显示CPU相关信息
-d显示磁盘信息
-h易读格式输出
-x显示扩展信息
列名含义
rrqm/s每秒对设备读请求的合并次数
wrqm/s每秒对该设备写请求的合并次数
r/s每秒完成的读次数
w/s每秒完成的写次数
rkB/s每秒读数据量
wkB/s每秒写数据量
avgrq-sz平均每次IO操作的数据量(扇区数为单位)
avgqu-sz平均等待处理的IO请求队列长度
await平均每次IO请求等待时间(包括等待时间和处理时间,毫秒为单位)
svctm平均每次IO请求的处理时间(毫秒为单位)
%utilIO队列的非空闲时间比,此项值为100%,说明IO 已饱和

iftop

iftop 监控主机端口显示带宽

选项含义
-i指定监控网口
-n不显示主机名
-f filter code过滤监控流量,用法与tcpdump类似,需要用双引号引起来,例如:“port 443 or port 80”
-F net/mask过滤指定网段或地址
-P显示IP和端口
-o 2s指定刷新频率

输出显示:2s、4s、10s带宽的平均值

dstat

系统资源统计,代替vmstat,iostat
dmstat [options…] [delay] [count]

选项含义
-c显示CPU相关信息
-C #,#,…,total显示每个CPU的占用情况
-d显示磁盘相关信息
-D total,sda,sdb,…显示磁盘相关信息
-g显示page相关统计数据
-m显示memory相关信息
-n显示network相关统计数据
-p显示process相关统计数据
-r显示IO请求相关的统计数据
-s显示swapped相关的信息
–tcp显示tcp相关信息
–udp显示udp相关信息
–socket显示套接字相关信息
–top-cpu显示最占CPU的进程
–top-io显示最占用IO的进程
–top-mem显示最占用内存的进程
–top-latency显示延迟最大的进程

iotop

用来监视磁盘I/O使用情况的top类工具,输出PID、用户、I/O、进程等相关信息。
iotop输出说明:

行数说明
第一行DISK READ和WRITE速率统计
第二行实际的磁盘读写速率
第三行参数按左到右依次:线程ID(按p切换到进程ID)、优先级、 用户、磁盘读速率、磁盘写速率、swap交换百分比、IO等待所占百分比、线程/进程命令
选项含义
-o只显示正在产生I/O的进程或线程,可以在运行过程中按O生效
-b非交互模式,一般用来记录日志
-n #设置检测到的次数,默认无限次,非交互模式下使用
-d #设置每次检测的间隔,默认1S,接受非整形数据例如1.1
-p PID指定检测的进程/线程
-u USER指定检测某个用户产生的I/O
-P仅显示进程,默认iotop显示所有线程
-a显示累积的I/O,而不是带宽
-k使用kB单位,而不是对人友好的单位,在非交互模式下脚本编程有用
-t加上时间戳,非交互模式
-q禁止头几行,非交互模式,只在第一次检测时显示列名
-qq永远不显示列名
-qqq永远不显示I/O汇总

交互按键

按键含义
左右方向键站选中列进行排序
r反向排序
o(字母)仅显示有IO的进程
p从线程切换到进程
a显示累积的I/O,而不是带宽
q退出交互模式
i改变线程的优先级

lsof

list open files 查看当前系统文件的工具

选项含义
-a列出打开文件存在的进程
-c 进程名列出指定进程打开的文件
-g列出GID进程详情
-d 文件号列出目录下被打开的文件
+d 目录列出目录下被打开的文件
+D 目录递归列出目录下被打开的文件
-n 目录列出使用NFS的文件
-i条件列出符合条件的进程(4、6、协议、:端口、@IP)
-p 进程号列出指定进程号所打开的文件
-u列出UID号进程详情
-h显示帮助信息
-v显示版本信息
-n不反向解析网络名字

误删除文件恢复

[root@han ~]# lsof |grep /var/log/messages
abrt-watc   6164                  root    4r      REG                8,2    464667  134396728 /var/log/messages
rsyslogd  129797                  root   14w      REG                8,2    464667  134396728 /var/log/messages
in:imjour 129797 129799           root   14w      REG                8,2    464667  134396728 /var/log/messages
in:imudp  129797 129800           root   14w      REG                8,2    464667  134396728 /var/log/messages
in:imfile 129797 129801           root   14w      REG                8,2    464667  134396728 /var/log/messages
rs:main   129797 129802           root   14w      REG                8,2    464667  134396728 /var/log/messages
[root@han ~]# rm -rf /var/log/messages
[root@han ~]# lsof |grep /var/log/messages
abrt-watc   6164                  root    4r      REG                8,2    464731  134396728 /var/log/messages (deleted)
rsyslogd  129797                  root   14w      REG                8,2    464731  134396728 /var/log/messages (deleted)
in:imjour 129797 129799           root   14w      REG                8,2    464731  134396728 /var/log/messages (deleted)
in:imudp  129797 129800           root   14w      REG                8,2    464731  134396728 /var/log/messages (deleted)
in:imfile 129797 129801           root   14w      REG                8,2    464731  134396728 /var/log/messages (deleted)
rs:main   129797 129802           root   14w      REG                8,2    464731  134396728 /var/log/messages (deleted)
[root@han ~]# ll /proc/129797/fd
total 0
lr-x------ 1 root root 64 Aug 15 13:57 0 -> /dev/null
l-wx------ 1 root root 64 Aug 15 13:57 1 -> /dev/null
lr-x------ 1 root root 64 Aug 15 13:57 10 -> /run/log/journal/7a51478eac9d45c3900fceeeb52bca93/system@a20e2c4eb0144c708ca33990f50849b4-0000000000002275-000601d0677c7db2.journal
lr-x------ 1 root root 64 Aug 15 13:57 11 -> /run/log/journal/7a51478eac9d45c3900fceeeb52bca93/system@a20e2c4eb0144c708ca33990f50849b4-0000000000000001-000601aafb20b3d3.journal
lrwx------ 1 root root 64 Aug 15 13:57 12 -> socket:[2641902]
lrwx------ 1 root root 64 Aug 15 13:57 13 -> anon_inode:[eventpoll]
l-wx------ 1 root root 64 Aug 15 13:57 14 -> /var/log/messages (deleted)
l-wx------ 1 root root 64 Aug 15 13:57 15 -> /var/log/secure
l-wx------ 1 root root 64 Aug 15 13:57 16 -> /var/log/cron
l-wx------ 1 root root 64 Aug 15 13:57 2 -> /dev/null
lrwx------ 1 root root 64 Aug 15 13:57 3 -> socket:[2641900]
lrwx------ 1 root root 64 Aug 15 13:57 4 -> socket:[2641901]
lr-x------ 1 root root 64 Aug 15 13:57 5 -> anon_inode:inotify
lrwx------ 1 root root 64 Aug 15 13:57 6 -> socket:[2642944]
lr-x------ 1 root root 64 Aug 15 13:57 7 -> /run/log/journal/7a51478eac9d45c3900fceeeb52bca93/system.journal
lr-x------ 1 root root 64 Aug 15 13:57 8 -> /run/log/journal/7a51478eac9d45c3900fceeeb52bca93/system@a20e2c4eb0144c708ca33990f50849b4-000000000000610f-000602620e7938b5.journal
lr-x------ 1 root root 64 Aug 15 13:57 9 -> /run/log/journal/7a51478eac9d45c3900fceeeb52bca93/system@a20e2c4eb0144c708ca33990f50849b4-00000000000041de-00060217a6820d92.journal
[root@han ~]# tail -5 /proc/129797/fd/14
Aug 15 13:57:59 han rsyslogd: [origin software="rsyslogd" swVersion="8.24.0-34.el7" x-pid="129797" x-info="http://www.rsyslog.com"] start
Aug 15 13:57:59 han rsyslogd: imfile: on startup file '/home/access.log' does not exist but is configured in static file monitor - this may indicate a misconfiguration. If the file appears at a later time, it will automatically be processed. Reason: No such file or directory [v8.24.0-34.el7]
Aug 15 13:57:59 han systemd: Started System Logging Service.
Aug 15 14:00:01 han systemd: Started Session 2732 of user root.
Aug 15 14:01:01 han systemd: Started Session 2733 of user root.
[root@han ~]# tail -5 /proc/129797/fd/14
Aug 15 13:57:59 han rsyslogd: [origin software="rsyslogd" swVersion="8.24.0-34.el7" x-pid="129797" x-info="http://www.rsyslog.com"] start
Aug 15 13:57:59 han rsyslogd: imfile: on startup file '/home/access.log' does not exist but is configured in static file monitor - this may indicate a misconfiguration. If the file appears at a later time, it will automatically be processed. Reason: No such file or directory [v8.24.0-34.el7]
Aug 15 13:57:59 han systemd: Started System Logging Service.
Aug 15 14:00:01 han systemd: Started Session 2732 of user root.
Aug 15 14:01:01 han systemd: Started Session 2733 of user root.
[root@han ~]# cat /proc/129797/fd/14 > /var/log/messages
[root@han ~]# ll /var/log/messages
-rw-r--r-- 1 root root 464731 Aug 15 14:03 /var/log/messages
[root@han ~]# 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韩华盛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值