1

这是对以下问题的后续回答: 如何自动启动 Solr?

如上所述,我将 solr 作为守护进程运行。但我意识到它已经用掉了超过 250GB 的日志。我正在考虑使用 logrotate 来调节日志大小。在上面发布的 logrotate conf 文件中,有一个 postrotate 命令来重新启动 solr。

我正在运行一些一直在读写 solr 的关键进程。所以我不想定期重启它。postrotate 重启是绝对必要的吗?

更新:

我尝试使用延迟压缩而不重新启动守护程序。创建了一个新的日志文件,但 solr 继续写入旧的日志文件(已重命名为 solr.log.1)

我再次尝试,没有延迟压缩,现在 solr.log 和 solr.log.1 都是空的。但是 df 仍然显示与大量日志消失之前相同的磁盘使用情况!

4

1 回答 1

0

磁盘使用率居高不下的原因是您的 solr 进程仍然有一个日志文件的打开文件句柄。尝试将 copytruncate 添加到您的 logrotate.d 以获得 solr 而不是 postrotate 重新启动。您需要重新启动 solr 以使其释放该句柄并在磁盘上标记空闲块。

于 2017-01-30T13:38:46.890 回答