性能监控
监控CPU
Windows
任务管理器
性能管理器(Perfmon)
cmd-->perfmon
Typeperf
Linux
top
第一行为任务队列信息
第二、三行为进程和CPU信息
第四、五行为内存信息
PID:进程ID
USER:用户名
PR:优先级
NI:负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟机内存总量,单位为KB。VIRT=SWAP+RES
RES:进程使用的、未被换出的物理内存大小,单位KB。RES=CODE+DATA
SHR:共享内存大小,单位KB
%CPU:上次更新到现在的CPU时间占用百分比
%MEM:进程使用的物理内存百分百
TIME+:进程使用的CPU时间总计,单位1/100秒
vmstat
vmstat [间隔时间] [计数参数]
如vmstat 3 10 表示每隔3秒统计一次,一共统计10次
r:运行队列(就是说多少个进程真的分配到CPU),当这个值超过了CPU数目,就会出现CPU瓶颈了。
b:阻塞的进程
swpd:虚拟内容已使用的大小,如果大于0,表示物理内存不足了。
free:空闲的物理内存大小
buff:目录里面有什么内容、权限等缓存
cache:文件和目录缓存
si:每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不足
so:每秒从虚拟内存写入磁盘的大小,同上
bi:块设备每秒接收的块数量
bo:块设备每秒发送的块数量,例如都文件,bo就大于0 ,bi和bo一般都要接近0 ,不然就是IO过于频繁
in:每秒CPU的中断次数
cs:每秒上下文切换次数,调用系统函数,要进行上下文切换,线程的切换也要进行上下文切换,这个值要越小越好
us:用户CPU时间
sy:系统CPU时间,如果太高,表示系统调用时间长,例如频繁IO操作
id:空虚CPU时间,一般id+us+sy=100
wa:等待IO CPU时间
sar
sar [options] [-A] [-o file] t [n]
t表示采样间隔,n为采样次数,默认为1
-o file 表示将命令结果以二进制形式存放在文件中,file是文件名
options为命令行选项:
-A:所有报告的总和
-u:输出CPU使用情况的统计信息
-v:输出inode、文件和其他内核表的统计信息
-d:输出每一个块设备的活动信息
-r:输出内存和交换空间的统计信息
-b:显示IO和传送速率的统计信息
-a:文件读写情况
-c:输出进程统计信息,每秒创建的进程数
-R:输出内存页面的统计信息
-y:终端设备活动情况
-w:输出系统交换活动信息
如sar -u -o test 10 3 每10秒采样一次,连续采样3次,观察CPU使用情况,将结果保存到当前目录的test文件中
mpstat
pidstat
jstack
监控内存
Linux
free
/proc/meminfo
jmap
监控磁盘
Linux
df
监控网络
Linux
netstat
netstat参数
-a:显示所有选项
-t:仅显示tcp相关选项
-u:仅显示udp相关选项
-n:拒绝显示别名
-l:仅列出有在listen的服务状态
-p:显示建立相关连接的程序名
-r:显示路由信息
-e:显示扩展信息
-s:按各个协议进行统计
-c:每隔一个固定时间,执行该netstat命令
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
2014-02-20 CodeSmith读取数据库