有没有办法检查我是否达到了 Linux 中任何类型缓冲区的限制/内核限制?
就像一个命令告诉你:
openfile limit reached
max net connection reached
net buffer full
inodes full
memory buffer full
所有其他奇怪的缓冲区都可能在服务器中变满,就像 FreeBSD 中的 vmstat -z 一样。
P.S.:我知道我可以查看日志,但如果我有大量的行,那么这个过程就会很慢。
最佳答案
详细信息取决于具体限制。一般来说,当系统调用尝试超出限制时,您会收到错误。例如,如果无法打开,open()
将返回 -1
并将 errno
设置为 EMFILE
由于打开文件限制,一个文件。
如果堆内存用完,malloc()
将返回 NULL
以表明它无法分配更多内存。
由于这是一个编程站点,我假设您想知道如何在应用程序中执行此操作。我有一种感觉,你实际上是在问如何监控整个系统,这对于 SO 来说是题外话——sysadmin.com 会是一个更好的地方。
关于linux - 如何检查我是否达到了 Linux 中的 X 限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19122311/