linux – 如何监控用户空间的NFS负载?

前端之家收集整理的这篇文章主要介绍了linux – 如何监控用户空间的NFS负载?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
抱歉,如果我没有使用正确的术语(虽然我是一个长期的 Linux用户,我不是管理员)或者如果这是一个常见问题解答(虽然搜索SE有很多点击,我没有看到任何类似的东西这个问题):

我是科学集群的用户(由PBS / Torque管理的工作,RHEL5,FWIW).我即将开始我的第一份非常重要的工作,所以我向管理员询问了一些配置问题,以避免愚蠢的错误.我大部分都是对的,但他补充说“确保你没有用太多的I / O锤击磁盘服务器”,并跟进“使用顶部[看] nfs是否疯了.”

怎么做?这是一个集群,因此很多“幕后”对我来说是透明的.另外,我没有特权.我也只能通过SSH限制CLI,但这是我遇到的最少的问题.从好的方面来说,我似乎能够进入任何计算节点,包括那些带有附加磁盘的计算节点.

所以我想知道,如何最好地从用户区监控NFS?我对top和NFS有点了解,所以我知道我能做到

top -p$(pgrep nfsd -d ',')

获取NFS进程列表(没有?).但是我真的想知道 – 再次,作为一个用户(我既没有sudo也没有root)RHEL5(是的,我们仍在运行) – 是

>一个或几个聚合所有NFS进程的NFS负载统计信息.这是我可以从顶部或其他工具获得的东西,而不是抓取输出并做我自己的数学?我应该监视nfsd以外的进程吗?
>关于量化“NFS疯狂”的建议.如果我可以获得一个/几个汇总统计数据,我可能会得到一个我的工作前基线,但这仍然没有告诉我“有多高太高了”.

注意:top似乎不是用于此任务的工具,但至少我可以使用它.无法使用的工具列表包括

> nfsstat
> iostat
> iotop

解决方法

查看顶部输出是完全错误的.这是关于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%

如果你有一个监控程序(fer实例,Zabbix),你可以添加一个UserParameter来监视它们:

# NFS stats
UserParameter=nfs.v3.server[*],nfsstat -s -l | awk 'BEGIN {FS=": *"}/v3 server.*$1:/ {print $$2}'

制作漂亮的图表:

有多高太高了?这完全取决于你的工作量:

您需要查看文件系统和磁盘延迟,以查看是否超载了磁盘.

猜你在找的Linux相关文章