linux – 什么是shrink_slab,为什么它出现在/ var / log / messages中?

前端之家收集整理的这篇文章主要介绍了linux – 什么是shrink_slab,为什么它出现在/ var / log / messages中?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在调查 Linux系统上的一些应用程序问题,并在最近的问题发生时注意到这一点,但不是足够明确相关的:
Jun  7 17:51:49 localhost kernel: shrink_slab: nr=-155456000
Jun  7 17:51:49 localhost kernel: shrink_slab: nr=-157859400
Jun  7 17:51:49 localhost kernel: shrink_slab: nr=-157833400
Jun  8 06:20:23 localhost kernel: shrink_slab: nr=-284172800

这是什么?谷歌搜索没有帮助,我得到它与VM的东西,但为什么它突然出现在/ var / log / messages中?

编辑:我认为它显示了这一点,因为它可以释放的页数(“nr”)是负数.这可能是一件坏事.我找到了更新内核的补丁,它们显示了更有用的消息.仍然不确定这意味着什么,或者我需要做些什么.

解决方法

您的消息由 slab allocator生成,Linux内核使用该机制来管理自身所需的内存部分(不适用于用户空间进程).最初它是由Jeff Bonwick为Solaris编写的,阅读 Bonwick(94)( PDF)可能最容易理解.

如果你想知道这个名字,可以在他的博客Bonwick最终revealed the story behind it.

当您查看Linux细节时,文章Anatomy of the Linux slab allocator(链接目前已经死亡,见archive.org for a copy)应该涵盖这一点.如果您想了解用户空间内存的管理,Mel Gorman,Understanding the Linux Virtual Memory Manager还提供了更多细节.

对于讲德语的读者来说,German Wikipedia Article on the slab allocator有一个很好的介绍.

猜你在找的Linux相关文章