linux - 如何检查我是否达到了 Linux 中的 X 限制?

标签 linux ubuntu nginx debian

有没有办法检查我是否达到了 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/

相关文章:

java - 非特权用户的 Maven 内存不足

c++ - 没有规则来制作目标 'Main.o' ,需要 'Main' 。停止

docker - 带有Docker的动态Nginx代理

linux - 在远程机器上执行部分 shell 脚本

ubuntu - 带有 libgvplugin_pango.so.6 的 Graphviz 警告 - 点无法生成 PDF

linux - Cassandra 生成过多实例,导致服务器不可用

Ubuntu Kubernetes 上的 Nginx Ingress IP 待定

django - 运行 nginx 的 django 服务器上的大型媒体文件出现 403 错误

linux - 从/proc 中获取数据而不读取文本

linux - 每 n 行提取 n 行