我有一个 bash 脚本,我计划根据它对服务器施加的负载使用 crontab 每 5 或 15 分钟运行一次。
我可以找到运行脚本的时间,但我不确定如何找到负载、内存使用率和 CPU 使用率。
有人可以帮助我吗?
还有关于粗略基准测试的任何建议,这些建议将帮助我确定脚本是否负载过大以及是否应每 15 分钟而不是 5 分钟运行一次。
提前致谢!
最佳答案
你可以使用“top -b”,top给出CPU使用率,内存使用率等, 在您的脚本中插入这些行,这将在后台处理并在您的测试结束后立即终止该过程。
ssh server_name "nohup top -b -d 0.5 >> file_name &"
\top 进程将在后台运行,因为 &,-d 0.5 将每 0.5 秒为您提供 cpu 状态,将输出重定向到 file_name 以供以后分析。
要在测试后终止进程,请在脚本中插入以下内容,
ssh server_name "kill \`ps -elf | grep 'top -b' | grep -v grep | sed 's/ */ /g' |cut -d ' ' -f4\`"
您的主要测试脚本应该在 top 命令和用于杀死 top 的命令之间。
我假设您是从客户端运行脚本,如果不是请忽略“ssh server_name”。
如果你从客户端运行它,因为“ssh”,你会被要求输入密码,以避免这个follow these 3 simple steps
这肯定会解决问题。
关于linux - 获取执行 bash 脚本的负载、cpu 使用率和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26425154/