我在 Google Compute Cloud 基础架构上运行多个 LEMP 堆栈。所有虚拟机在启动时都完全相同,但其中一个虚拟机出现了奇怪的问题。每当我运行此命令时,有时可能需要长达 20 分钟才能完成:
sudo find . -type f -exec chmod 400 {} \;
我在 CMS 所在的 /public_html/ 文件夹中运行此命令。每当我以“部分”方式运行它时,它只会find
立即chmod
运行。当此命令运行时,我打开另一个实例查看结果top
,这是输出:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
23946 root 20 0 141560 134128 1944 S 39.6 1.8 8:43.19 find
我检查了所有“我的 sudo 命令很慢”的解决方案,例如更正主机名、重新启动各种服务等;但问题似乎不是出在 sudo 命令上,而是出在这个特定的组合上。这是为什么?可能出了什么问题?
注意:我运行了多个虚拟机,它们的系统大小和文件夹结构大致相同。在那里,我可以在大约 10 秒内运行相同的命令。当然,这个特定实例可能稍大一些,但绝对不会大 2000%。
答案1
运行 verbose 命令后发现,/var/sessions
运行的会话文件有数万个。按照 ctrl-alt-delor 的建议应用修复程序,仅在需要时更改权限,这对加快进程有很大帮助。