Ubuntu 18.04 Web服务器高负载突增问题排查求助
Ubuntu 18.04 Web服务器高负载突增问题排查求助
大家好,我现在碰到个棘手的问题:我的Ubuntu 18.04服务器(16核、8GB内存)是一台Web服务器,跑着Apache 2.4、PHP7.2-FPM和Memcached,数据库服务放在另一台独立服务器上。最近服务器频繁出现短时间的高负载突增,每次只持续几秒就过去了。
我一开始以为是CPU占用异常导致的,但看top的输出,没有进程占用高CPU,内存使用率也只有25%左右,反而wa(等待IO时间)占比极高!
我用iotop排查过存储IO问题,但负载突增的时候,读写IO并没有明显上升。而且这些突增每天会发生很多次,监控后发现它们都是在固定时间点出现。我检查了定时任务,但没找到对应时间运行的进程。
我知道高负载也可能和带宽占用过高有关,但不知道该怎么监控这一点?另外我对iostat和sar不太熟悉,用它们来排查这个问题是不是正确的方向?
后来按照Matthew Ife的建议,我在高负载的时候运行了ps -ALo pid,tid,comm,wchan命令,得到了一些有意思的输出:
35227 35227 kworker/12:2 worker_thread 53730 53730 kworker/7:0 worker_thread 57306 57306 php-fpm7.2 poll_schedule_timeout 57348 57348 php-fpm7.2 poll_schedule_timeout 57988 57988 php-fpm7.2 poll_schedule_timeout 58251 58251 php-fpm7.2 poll_schedule_timeout 60181 60181 kworker/5:2 worker_thread 62158 62158 kworker/2:1 worker_thread 62169 62169 php-fpm7.2 poll_schedule_timeout 65001 65001 php-fpm7.2 poll_schedule_timeout 69262 69262 php-fpm7.2 poll_schedule_timeout 69647 69647 kworker/6:1 worker_thread 72110 72110 php-fpm7.2 call_rwsem_down_write_failed 72638 72638 php-fpm7.2 skb_wait_for_more_packets 72845 72845 php-fpm7.2 call_rwsem_down_write_failed 72848 72848 php-fpm7.2 call_rwsem_down_write_failed 72850 72850 php-fpm7.2 skb_wait_for_more_packets 72892 72892 php-fpm7.2 skb_wait_for_more_packets 72909 72909 kworker/u256:2 worker_thread 72940 72940 kworker/u256:4 get_write_access 73353 73353 top poll_schedule_timeout 73367 73367 php-fpm7.2 locks_lock_inode_wait 73659 73659 php-fpm7.2 call_rwsem_down_write_failed 73950 73950 php-fpm7.2 skb_wait_for_more_packets 73953 73953 php-fpm7.2 call_rwsem_down_write_failed 74259 74259 php-fpm7.2 skb_wait_for_more_packets 74345 74345 php-fpm7.2 skb_wait_for_more_packets 74436 74436 kworker/13:1 worker_thread 74481 74481 kworker/u256:1 get_write_access 74519 74519 php-fpm7.2 skb_wait_for_more_packets 74522 74522 php-fpm7.2 skb_wait_for_more_packets 74576 74576 php-fpm7.2 call_rwsem_down_write_failed 74578 74578 php-fpm7.2 skb_wait_for_more_packets 74603 74603 php-fpm7.2 locks_lock_inode_wait 74849 74849 php-fpm7.2 skb_wait_for_more_packets 75085 75085 php-fpm7.2 skb_wait_for_more_packets 75088 75088 php-fpm7.2 call_rwsem_down_write_failed 75100 75100 php-fpm7.2 call_rwsem_down_write_failed 75171 75171 php-fpm7.2 skb_wait_for_more_packets 75283 75283 kworker/2:2 worker_thread ....
从这些输出来看,是不是说明文件系统或者存储方面存在问题?
备注:内容来源于stack exchange,提问作者Sbraaa
相关产品推荐
相关产品推荐

