2

有没有办法检查我是否达到了 Linux 中任何类型缓冲区的限制/内核限制?

就像一个命令告诉你:

openfile limit reached
max net connection reached
net buffer full
inodes full
memory buffer full

就像 FreeBSD 中的 vmstat -z 一样,所有其他奇怪的缓冲区都可能在服务器中被填满。

PS:我知道我可以查看日志,但是如果我有很多行,这是一个缓慢的过程。

4

1 回答 1

2

细节取决于具体限制。通常,当系统调用尝试超过限制时,您会收到错误消息。例如,如果由于 openfile 限制而无法打开文件,open()将返回-1并设置errno为when。EMFILE

如果堆内存用完了,malloc()将返回NULL表明它不能再分配更多内存。

由于这是一个编程站点,我假设您想知道如何在应用程序中执行此操作。我有一种感觉,您实际上是在问如何为此监视系统,这对于 SO 来说是题外话—— sysadmin.com 会是一个更好的地方。

于 2013-10-01T17:36:56.403 回答