Linux查看进程IO占用解决高负载

Linux查看进程IO占用解决高负载

下午,发现一台服务器网络延迟增高,内网的响应时间达到了500-700,网络吞吐降低,提供的服务也因此处理效率降低。

登录服务器发现负载爆高,达到了18左右,内存、交换空间充足,CPU的的等待进程达到了70-80%。

服务器是一台团队工具服务器,部署有一个消息服务节点,负载较高影响到了消息的转发效率,短暂分析后停掉了部分辅助应用,发现负载情况依旧。

考虑是消息服务器导致的IO的问题,遂需要验证一下,找到一个查看进程IO的工具,IOPP,下载下来编译后运行:iopp -i -u 2,两秒收集一次IO数据,发现主要的IO读写进程是java和httpd。

接着考虑服务器的java应用了,除了比较主要的MQ,还有LDAP应用.按照重要程序,又停止了LDAP.

查看负载还是依旧,不过在继续验证MQ进程的时候,发现负载突然降又下来了,时间刚好是17点整,这个点让我不太确定是否由于LDAP服务导致了服务器的IO占用问题,也有可能是某位同学在折腾服务器:)

分析下LDAP服务引起IO的可能性,的确还是有的,LDAP使用了OpenDJ,一个Java封装过的LDAP协议,提供了很多额外的功能.在应用日志中,发现了大量的索引日志,从这点上,不能排除其引起IO的可能,也有可能是由于和其他进程阻塞而导致了负载较高.

由于服务器没有配置系统级的监控,也不能从历史数据上得到论证,接下来加入监控节点,对负载进行监控再继续分析。

留下回复