Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux “这是正常的吗?”;rsyslogd";花费1.7亿内存?_Linux_Bash - Fatal编程技术网

Linux “这是正常的吗?”;rsyslogd";花费1.7亿内存?

Linux “这是正常的吗?”;rsyslogd";花费1.7亿内存?,linux,bash,Linux,Bash,我的一个网站运行非常慢 我使用top命令查看“rsyslogd”消耗了1.7亿内存 这正常吗 如果没有,我如何限制内存“rsyslogd”成本的大小,或“rsyslogd”的频率 运行?听起来您的进程日志记录信息太多了。你可以看看日志,看看是谁在写这些东西,看看是否能让它们停下来。我曾经看到,当某些程序反复出现故障,导致它每秒数千次记录相同的错误消息时,日志会达到千兆字节大小。认真检查日志,看看谁在敲打rsyslogd。不能有“rsyslogd”运行的频率”,因为它是一个守护进程,提供日志记录功

我的一个网站运行非常慢

我使用
top
命令查看“rsyslogd”消耗了1.7亿内存

这正常吗

如果没有,我如何限制内存“rsyslogd”成本的大小,或“rsyslogd”的频率


运行?

听起来您的进程日志记录信息太多了。你可以看看日志,看看是谁在写这些东西,看看是否能让它们停下来。我曾经看到,当某些程序反复出现故障,导致它每秒数千次记录相同的错误消息时,日志会达到千兆字节大小。认真检查日志,看看谁在敲打rsyslogd。

不能有“rsyslogd”运行的频率”,因为它是一个守护进程,提供日志记录功能。正如Robert S.Barnes指出的,您最好检查日志以确定应用程序,这会阻塞rsyslogd(ha!)。日志的名称是特定于操作系统的,但它们可能位于/var/log及其子目录中。我见过rsyslogd消耗相对较大的内存,但是170Mb太多了,根本不正常

无耻的离题编辑:我有serverfault和stackoverflow标签,老实说,在我提交答案之前,我100%确定我是在发布到serverfault(这应该是给你的提示):p

是和否。 通常,您使用的是文件/磁盘队列模式。它将写操作缓存到缓冲区,并一次写出一个块,而不是一行一行地以打开和关闭的方式写出低效的块;减少不必要的小型磁盘访问


问题在于,它为日志记录的每个文件都提供了10MB的缓冲区。20个日志文件意味着200+MB。日志文件的数量始终可以减少,但如果您没有运行raid(大数据块)或hi-demand系统,也可以减少缓冲区大小。文档如下:,“$QueueMaxFileSize”以减小每个缓冲区的大小。4MB可以将您的内存减少到70MB

这里可能有人知道,但您可能会在serverfault.com上遇到与您相同的问题。我的rsyslogd花费超过1.7亿美元,约2亿美元