是否需要在日志旋转后重新启动 solr 守护进程



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

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

我正在运行一些关键进程,这些进程总是在读取和写入 solr。所以我不想定期重新启动它。旋转后重新启动是否绝对必要?

更新:

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

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

磁盘使用率保持较高的原因是您的 solr 进程仍然具有日志文件的打开文件句柄。尝试将 copytruncate 添加到 logrotate.d 以获得 solr,而不是旋转后重新启动。您需要重新启动 solr 才能让它释放该句柄并将块标记为磁盘上的空闲块。

最新更新