教程:14、系统性能分析

系统的整体性能取决于各种资源的平衡,类似木桶理论,某种资源的耗尽会严重阻碍系统的性能。

Linux中需要监控的资源主要有 CPU、主存(内存)、硬盘空间、I/O时间、网络时间、应用程序等。
统性能的主要因素有:

因素说明
用户态CPUCPU在用户态运行用户程序所花费的时间,包括库调用,但是不包括内核花费的时间。
内核态CPUCPU在内核态运行系统服务所花费的时间。所有的 I/O 操作都需要调用系统服务,程序员可以通过阻塞 I/O 传输来影响这部分的时间。
I/O 时间和网络时间响应 I/O 请求、处理网络连接所花费的时间。
内存切换上下文和交换数据(虚拟内存页导入和导出)花费的时间。
应用程序程序等待运行的时间——CPU正在运行其他程序,等待切换到当前程序。
说明:一般认为用户态CPU和内核态CPU花费的时间小于70%时是良好状态。

下面的命令可以用来监控系统性能并作出相应调整:

命令说明
nice启动程序时指定进程优先级。
renice调整现有进程的优先级。
netstat显示各种网络相关信息,包括网络连接情况、路由表、接口状态(Interface Statistics)、masquerade 连接、多播成员 (Multicast Memberships)等。实际上,netstat 用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
time检测一个命令运行时间以及资源(CPU、内存、I/O等)使用情况。
uptime查看系统负载情况。
ps查看系统中进程的资源使用情况(瞬时状态,不是动态监控)。
vmstat报告虚拟内存使用情况。
gprof精确分析程序的性能,能给出函数调用时间、调用次数、调用关系等。
top实时监控系统中各个进程资源的资源使用情况。

用命令组合:

  • vmstat、sar、mpstat检测是否存在CPU瓶颈;
  • vmstat、free检测是否存在内存瓶颈;
  • iostat检测是否存在磁盘I/O瓶颈;
  • netstat检测是否存在网络I/O瓶颈。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值