小编Tom*_*che的帖子

`ssh foo "<command/>"` 没有加载远程别名?

总结:为什么会失败

$ ssh foo 'R --version | head -n 1'
bash: R: command not found
Run Code Online (Sandbox Code Playgroud)

但这成功了

$ ssh foo 'grep -nHe 'bashrc' ~/.bash_profile'
/home/me/.bash_profile:3:# source the users .bashrc if it exists
/home/me/.bash_profile:4:if [ -f "${HOME}/.bashrc" ] ; then
/home/me/.bash_profile:5:  source "${HOME}/.bashrc"
$ ssh foo 'grep -nHe "\WR\W" ~/.bashrc'
/home/me/.bashrc:118:alias R='/share/linux86_64/bin/R'
$ ssh foo '/share/linux86_64/bin/R --version | head -n 1'
R version 2.14.1 (2011-12-22)
Run Code Online (Sandbox Code Playgroud)

? 细节:

我是 2 个集群的(无根)用户。一个使用环境模块,因此该集群上的任何给定服务器都可以(通过module add)提供几乎相同的资源。不幸的是,我也必须在另一个集群上工作,它有单独管理的服务器,所以我养成了这样做的习惯,例如,

EXEC_NAME='whatever'
for S in 'foo' 'bar' 'baz' ; do …
Run Code Online (Sandbox Code Playgroud)

linux ssh bash bashrc login-script

5
推荐指数
1
解决办法
3016
查看次数

如何从用户空间监控 NFS 负载?

如果我没有使用正确的术语(虽然我是 linux 的长期用户,我不是管理员)或者这是一个常见问题(虽然搜索 SE 有很多点击,但我没有看到任何类似的东西),我深表歉意这个问题):

我是一个科学集群的用户(工作由 PBS/Torque、RHEL5、FWIW 管理)。我即将开始我的第一个非常重要的工作,所以我向管理员询问了一些配置问题,以避免出现愚蠢的错误。我大部分是对的,但他补充说“确保你没有用过多的 I/O 敲打磁盘服务器”,随后是“使用 top [来] 看看 nfs 是否会发疯”。

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

所以我想知道,如何最好地从用户空间监控 NFS?我对topNFS有一点了解,所以我知道我可以做到

top -p$(pgrep nfsd -d ',')
Run Code Online (Sandbox Code Playgroud)

获取 NFS 进程列表(不是?)。但我真的很想知道——再次,作为sudoRHEL5 上的用户(我既没有也没有 root)(是的,我们仍在运行)——是

  1. 所有 NFS 进程中 NFS 负载的一项或多项汇总统计信息。这是我可以从top或其他工具中获得的东西,而无需抓取输出并进行自己的数学运算?我应该监控除nfsd?
  2. 关于量化“NFS 发疯”的建议。如果我能得到一个/几个汇总统计数据,我大概可以得到一个工作前的基线,但这仍然不能告诉我“多高是太高了”。

注意: top似乎不是用于此任务的工具,但至少它对我可用。不可用的工具列表包括

  1. nfsstat
  2. iostat

linux nfs performance-monitoring io rhel5

4
推荐指数
1
解决办法
7526
查看次数

标签 统计

linux ×2

bash ×1

bashrc ×1

io ×1

login-script ×1

nfs ×1

performance-monitoring ×1

rhel5 ×1

ssh ×1