我们的池服务器磁盘100%忙。
我用iotop检查并确定nfsd是消耗磁盘IO的最高进程。
我需要进一步缩小这个范围,并且想要确定哪个NFS客户端使用服务器负责这个磁盘IO瓶颈。 我如何继续?
iotop然后o – 你会看到哪个进程读取和/或写入,以及多less硬盘。
检查该进程的PID并执行netstat -entp | grep <pid> netstat -entp | grep <pid> – 这样你将看到build立的TCP连接,并从哪个地址它来。 使用enp来检查tcp和udp会话。
你也可以做一个netstat -anp | grep 2049 netstat -anp | grep 2049 – 那样得到一个ip地址和pid,然后把pid和iotop的pid关联起来。
通常情况下,使用大部分IO的客户端也会执行大部分networkingstream量,所以我所做的是:将所有stream量转储几秒钟,然后创build一个使用最多stream量的主机的sorting列表(限于nfs主机):
tcpdump > dump.cap # (30 secs should be enought), press ctr+ c grep -o "<something iding an nfs client>" dump.cap | sort | uniq -c | sort -n