内存性能监测
- free 系统已用、可用、剩余内存及缓存和缓存区的使用量。
-b/k/m/g 分别以bytes/kilobytes/megabytes/gigaby为单位显示
-h 以人类可读的方式输出统计结果
-t 使用该选项会多显示一行标题为Total的统计信息,该行统计的是(used、free、total的总和)此Total与total不同,
请注意
-o(小写) 禁止显示第二行的缓冲区调整值(-/+ buffers/cache)
-s 每个多少秒自动刷新结果
-c 与-s配合使用,控制刷新结果次数
-l 显示高低内存的统计详情
-a 显示可用内存
-V 显示版本号
- top 进程虚拟、常驻、共享内存以及缺页异常。
d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p 通过指定监控进程ID来仅仅监控某个进程的状态。
q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S 指定累计模式
s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i 使top不显示任何闲置或者僵死进程。
c 显示整个命令行而不只是显示命令名
- ps 进程虚拟、常驻、共享内存以及缺页异常。
-A 显示所有进程(等价于-e)(utility)
-a 显示一个终端的所有进程,除了会话引线
-N 忽略选择。
-d 显示所有进程,但省略所有的会话引线(utility)
-x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)
-p pid 进程使用cpu的时间
-u uid or username 选择有效的用户id或者是用户名
-g gid or groupname 显示组的所有进程。
U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)
-f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.
-l 长格式(有F,wchan,C 等字段)
-j 作业格式
-o 用户自定义格式。
v 以虚拟存储器格式显示
s 以信号格式显示
-m 显示所有的线程
-H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)
e 命令之后显示环境(如:ps -d e; ps -a e)(utility)
h 不显示第一行
===================================ps 的参数说明=============================
l 长格式输出;
u 按用户名和启动时间的顺序来显示进程;
j 用任务格式来显示进程;
f 用树形格式来显示进程;
a 显示所有用户的所有进程(包括其它用户)。显示所有进程
-a 显示同一终端下的所有程序
x 显示无控制终端的进程;
r 显示运行中的进程;
ww 避免详细参数被截断;
-A 列出所有的进程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的进程
-e 显示所有进程,环境变量
-f 全格式
-h 不显示标题
-l 长格式
-w 宽输出
a 显示终端上地所有进程,包括其他用户地进程
r 只显示正在运行地进程
x 显示没有控制终端地进程
常用的选项是组合是 aux 或 lax,还有参数 f 的应用。
pids 只列出进程标识符,之间运用逗号分隔,
该进程列表必须在命令行参数地最后一个选项后面紧接着给出,
中间不能插入空格。比如:ps -f1,4,5 显示的是进程ID为1,4,5的进程
============排序键列表==========================
c cmd 可执行地简单名称
C cmdline 完整命令行
f flags 长模式标志
g pgrp 进程地组ID
G tpgid 控制tty进程组ID
j cutime 累计用户时间
J cstime 累计系统时间
k utime 用户时间
K stime 系统时间
m min_flt 次要页错误地数量
M maj_flt 重点页错误地数量
n cmin_flt 累计次要页错误
N cmaj_flt 累计重点页错误
o session 对话ID
p pid 进程ID
P ppid 父进程ID
r rss 驻留大小
R resident 驻留页
s size 内存大小(千字节)
S share 共享页地数量
t tty tty次要设备号
T start_time 进程启动地时间
U uid UID
u user 用户名
v vsize 总地虚拟内存数量(字节)
y priority 内核调度优先级
- vmstat 系统神域内存、缓存、缓冲区、换入、换出。
-a:显示活跃和非活跃内存
-f:显示从系统启动至今的fork数量 。
-m:显示slabinfo
-n:只在开始时显示一次各字段名称。
-s:显示内存相关统计信息及多种系统活动数量。
-d:显示磁盘相关统计信息。
-p:显示指定磁盘分区统计信息
-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)
-V:显示vmstat版本信息
- sar 系统内存换页情况、内存使用率、缓存和缓存区用量以及使用swap 使用情况
- cachestat 系统缓存和缓冲区的命中率
- cachetop 进程缓存和缓冲区的命中率
- slabtop 系统Slab缓存使用情况
-d 每n秒更新一次显示的信息,默认是每3秒
-s 指定排序标准进行排序
-o 显示一次后退出
-V 显示版本
-- -help 显示帮助信息
- pmap 进程地址空间和内存状态
-x:显示扩展格式;
-d:显示设备格式;
-q:不显示头尾行;
-V:显示指定版本。
- valgrind 进程内存错误检查用来检测内存初始化、泄漏、越界访问等各种内存错误。(需要提下下载 yum install - y valgrind)
- memleak 内存泄漏检测
- pcstat 查看指定文件的缓存情况。
cpu性能检测
- uptime 平均负载
-p, --pretty以比较友好的格式输出
-h, --help显示帮助选项
-s, --since 系统启动时间
-V, --version 版本信息
- top 平均负载、运行队列、整体的cpu使用率以及每个进程的状态和cpu使用率。
- htop 与top功能大致相同,以不同颜色区分不同类型的进程。(yum -y install htop)
- atop cpu 、内存、磁盘和网络等资源的全面的监控
- vmstat 系统整体的cpu使用率、上下文切换次数、中断次数、还包括处于运行和不可中断状态的进程数量。
- mpstat 每个cpu的使用率和软中断次数。
- pidstat 进程和进程的cpu使用率、中断上下文切换次数。
- ps 每一个进程的状态和cpu使用率
- pstree 进程的父子关系
- dstat 系统整体cpu使用率。
- sar 系统整体的cpu使用率、包括可配置的历史数据。
- strace 进程的系统调用。
- perf cpu性能事件剖析,如何调用链分析、CPU缓存、CPU调度等。
- execsnoop 监控短时进程。
文件系统和磁盘
- iostat 磁盘i/o使用率、iops、吞吐量、响应时间、i/o平均大小以及等待对了长度。
- pidstat 进程i/o大小以及i/o延迟
- sar磁盘的使用率、iops、吞吐量以及响应时间
- dstat 磁盘i/o使用率、iops、吞吐量
- iotop 按i/o大小对进程排序
- slabtop 目录项、索引节点以及文件系统的缓存
- vmstat 缓存和缓冲区量汇总
- strace 跟踪进程的i/o系统调用
- perf 跟踪啮合中的i/o时间
- df 磁盘空间和索引节点使用量和剩余量
- mount 文件系统的挂在路径以及挂载参数。
- du 目录占用的磁盘空间大小
- tune2fs 现实和设置文件系统参数
- hdparam 显示和设置磁盘参数
网络相关
- ifconfig 、ip 配置和查看网络接口。
- ss 查看网络连接数
- sar 查看网络接口的网络收发情况
- nethogs 查看进程的网络收发情况
- iftop 查看ip的网络收发情况
- ethool 查看和配置网络接口
- conntrack 查看和管理连接跟踪状况
- nslookup 、dig 排查dns 解析问题
- ping 、ping3 测试网络网络延迟。
- tcpdump 网络抓包工具。
- iptables 配置和管理防护墙以及nat规则
- perf 刨析内核协议栈的性能。
- systemtap 动态追踪啮合协议栈的行为。