Kyle Brandt Asked: 2009-08-12 06:24:35 +0800 CST2009-08-12 06:24:35 +0800 CST 2009-08-12 06:24:35 +0800 CST 日志轮换和 OpenVZ 虚拟机 772 我注意到我的 OpenVZ 虚拟机 (VE) 没有安装 logrotate,而且我的日志有点大 :-) 由于 VE 的文件系统通过 /vz/private/.. 暴露给主机,是否有任何理由不让主机上的 logrotate 轮换 VE 中的日志? linux log-files openvz logrotate 2 个回答 Voted Best Answer Schof 2009-08-15T17:01:55+08:002009-08-15T17:01:55+08:00 因为您可能希望在每个 VM 上记录许多操作系统日志,所以只安装 logrotate 可能更容易、更干净。这绝对是我推荐的解决方案。 关于 10 logrotates vs. 1 logrotate 资源问题,我认为这不是值得关注的问题。那就是过早的优化。首先以正确的方式进行,然后在必要时使其更快。 Logrotate 将每天运行一次;在我的系统上运行大约需要 0.002 秒。第一次需要更长的时间,但在那之后你的资源命中将几乎没有。 您甚至可以通过错开 /etc/cron.daily 脚本执行的时间来使其更好——因此并非所有虚拟机都同时执行。 (并且由于使您的系统变慢的任何因素都将是日志的实际移动/截断/重命名/gziping/等,这将发生在一个或 10 个 logrotate 进程中——这是每个 VM 使用一个 logrotate 的另一个原因。 logrotate 本身的开销是如此之小,以至于在噪音中丢失了。) 2009-09-25T14:34:48+08:002009-09-25T14:34:48+08:00 似乎是一个自行车棚,但... IO 是 logrotate 会产生显着影响的唯一资源。 一个主 logrote 将产生与在任意数量的 Linux 容器 (VM) 中运行的一组一样多的 IO。
因为您可能希望在每个 VM 上记录许多操作系统日志,所以只安装 logrotate 可能更容易、更干净。这绝对是我推荐的解决方案。
关于 10 logrotates vs. 1 logrotate 资源问题,我认为这不是值得关注的问题。那就是过早的优化。首先以正确的方式进行,然后在必要时使其更快。
Logrotate 将每天运行一次;在我的系统上运行大约需要 0.002 秒。第一次需要更长的时间,但在那之后你的资源命中将几乎没有。
您甚至可以通过错开 /etc/cron.daily 脚本执行的时间来使其更好——因此并非所有虚拟机都同时执行。
(并且由于使您的系统变慢的任何因素都将是日志的实际移动/截断/重命名/gziping/等,这将发生在一个或 10 个 logrotate 进程中——这是每个 VM 使用一个 logrotate 的另一个原因。 logrotate 本身的开销是如此之小,以至于在噪音中丢失了。)
似乎是一个自行车棚,但...
IO 是 logrotate 会产生显着影响的唯一资源。
一个主 logrote 将产生与在任意数量的 Linux 容器 (VM) 中运行的一组一样多的 IO。