我想在启动时对进程进行离子化。
在我们的托管环境中,我们使用旧的 Parallels Confixx 服务器。(是的,我知道,Confixx 已经过时,但这不是问题)。
我们使用 courier 来发送邮件,有时会发生这种情况,该/usr/bin/imap Maildir
进程会占用整个 I/O,这也会导致高 CPU 负载。我们总是手动离子化(ionice –c 3 –p [PID]
)进程并且 I/O 关闭。自动离子化每个 imap 进程的最佳方法是什么?我对快递邮件服务器不是很有经验。
只需
ionice
在 IMAP 主进程上运行。该设置由子进程继承。也许它也有助于
find /path -printf""
每隔一分钟左右在所有邮件目录上运行以将元数据保留在页面缓存中(除非数据太多并且您需要更多缓存来存储其他内容)。作为另一种解决方案,您可以将 courier 进程用于分离cgroup层次结构并为块 IO 控制器指定参数(在您的情况下为 IO 带宽)。
我发现的特别简单的例子可以从此链接获得。
此外,您可以指定其他控制器参数,例如 cpuact、内存、net_prio。您可以在Linux 内核文档中找到更多信息。
主进程上的 ionice 似乎不起作用,所以我修改了“courier-imap”和“courier-imap-ssl”的初始化脚本,这似乎有效:
如果有人有改进建议,请告诉我。