道歉,如果我不使用正确的术语(虽然我是一个长期的Linux用户,我不是pipe理员),或者如果这是一个常见问题(尽pipesearchSE有很多点击,我没有看到任何东西这个问题):
我是一个科学群体的用户(由PBS / Torquepipe理,RHEL5,FWIW)。 我即将开始我的第一个真正的大工作,所以我问了pipe理员一些configuration问题,以避免愚蠢的错误。 我大部分都是正确的,但是他补充了一些build议,“确保你不是用太多的I / O敲击磁盘服务器”,后续的步骤是“使用top来查看nfs是否正在运行。
怎么做? 这是一个集群,所以很多“幕后”对我来说是透明的。 另外我有没有特权。 我也仅限于通过SSH的CLI,但这是我的问题最less。 从好的一面来看,我似乎能够将任何计算节点都包含在内,包括那些连接磁盘的计算节点。
所以我想知道,如何最好的监测用户的NFS? 我知道一些关于top和NFS,所以我知道我可以做到
top -p$(pgrep nfsd -d ',')
获取NFS进程的列表(不是?)。 但是我真的很想知道 – 作为一个用户(我既没有sudo也没有root)在RHEL5上(是的,我们仍在运行) – 是
top或其他工具获得的东西,而不需要输出和做自己的math吗? 而且我应该监视nfsd以外的nfsd吗? 注: top似乎不是这个任务使用的工具,但至less它是可用于我。 不可用的工具列表包括
看最高的输出是完全错误的。 这是关于IOPS。 要查看NFS统计信息,请使用nfsstat :
Server rpc stats: calls badcalls badauth badclnt xdrcall 40833255 0 0 0 0 Server nfs v3: null getattr setattr lookup access readlink 0 0% 1411374 3% 107 0% 43169 0% 747514 1% 790 0% read write create mkdir symlink mknod 38138706 93% 0 0% 0 0% 0 0% 0 0% 0 0% remove rmdir rename link readdir readdirplus 0 0% 0 0% 0 0% 0 0% 0 0% 491559 1% fsstat fsinfo pathconf commit 6 0% 12 0% 6 0% 0 0%
如果你有一个监控程序(例如,Zabbix),你可以添加一个UserParameter来观看它们:
# NFS stats UserParameter=nfs.v3.server[*],nfsstat -s -l | awk 'BEGIN {FS=": *"}/v3 server.*$1:/ {print $$2}'
并制作漂亮的图表: 
有多高? 这完全取决于你的工作量:

您需要观察文件系统和磁盘延迟,以确定是否过载了磁盘。