问题标签 [ulimit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
486 浏览

c++ - 如何创建随机内存分配失败?

我最近发现了一个 Windows 调试工具PageHeap。它的选项/fault允许每隔一段时间注入内存分配失败。就像,我希望每 100 或 1000 次分配失败,你决定。我们在linux上有类似的东西吗?

我可以想到 ulimit,但这不是一回事,一旦达到内存,它会使每个后续分配失败,而不仅仅是一个。

0 投票
2 回答
38464 浏览

linux - bash fork 错误(资源暂时不可用)不会停止,并且每次我尝试杀死/重新启动时都会出现

我错误地将受限服务器用作 5000 个并行连接的 iperf 服务器。(限制为 1024 个进程)现在每次登录时,我都会看到:

然后,我试图杀死他们,但是当我执行 ps 时,我得到了这个:

当我做 killall 或类似的事情时也会发生同样的情况。我什至尝试重新启动系统,但这又是我在重新启动后得到的:

所以基本上我什么都做不了。所有命令都会出现此错误:/ 但是,我可以“退出”。

这是一个我没有物理访问权限的场外服务器,因此我无法在物理上关闭/打开它。

有什么想法可以解决这个问题吗?我非常感谢任何帮助。

0 投票
1 回答
214 浏览

php - 在centos中一次执行php文件100000次

我需要一次运行一个 php 文件 100000 次。为此,我在 php 文件(runmyfile.php)中使用了 exec 命令,并使用 putty 调用了该文件。runmyfile.php 文件具有以下代码。

它并行执行 myfile.php 文件 100000 次。

这个 myfile.php 从 mysql 数据库表中获取行并执行一些计算并将这些值插入到另一个表中。

但是当运行 100000 次时,它会挂断服务器。我使用centos作为服务器。

有时我也会收到资源不可用错误。

如果我运行它 1000 次,它可以正常工作。

当我检查以下内容时ulimit -a

我的 mysql max_connection 是 200000

是否有任何设置需要更改。这样我就可以正确执行我的 php 文件 100000 次。

0 投票
1 回答
1564 浏览

linux - 文件描述符限制更新失败

我有一个使用 Debian wheezy x64 的服务器,我对星号服务器有问题“尝试使用 ulimit -n 增加最大文件描述符”,我尝试更改文件描述符限制,如下所示:

我在文件末尾添加:

当我尝试测试时:

我想念什么吗?(我重新启动了服务器,但我得到了相同的值)

我用了这个教程

0 投票
2 回答
571 浏览

linux - ulimit 命令的单独(二进制)实现?

/usr/bin/ulimit有源代码吗?我需要查看用户的完整列表,rlimit而他没有在 shell 中。

在这种情况下,我们在从 Web 服务器运行内存密集型程序时遇到问题(用户 wwwrun,通常在 中/bin/false作为登录 shell /etc/passwd),我们怀疑某些系统强加的限制正在阻止它完成这些程序。

以前,有一个 /usr/bin/ulimit 二进制文件,但这些似乎已经消失了。

所以我正在寻找的是 ulimit 命令的 C 实现(现在通常只能作为 (ba)sh 内置)。它不需要任何“setrlimit”功能 - 只需打印所有限制就足够了。然后我们将此命令设置为 wwwrun 的登录 shell,“su - wwwrun”将显示该用户拥有的所有 rlimits。

感谢您的任何提示!

0 投票
2 回答
3908 浏览

tomcat - 设置最大文件数

我正在尝试在 Ubuntu 中设置打开文件的最大数量的值etc/security/limits.conf,但是当我触发命令时,我没有得到相同的值ulimit -a。我在 limits.conf 中添加以下值:

但在射击ulimit -a时,我得到:

0 投票
2 回答
3167 浏览

centos - 在 CentOS 6 上启用核心文件

我正在尝试在运行 CentOS 的机器上启用核心文件;但是,我尝试过的任何东西都没有产生核心文件……这是我所做的:

将以下两行添加到/etc/security/limits.conf

将以下行添加到/etc/sysconfig/init

将以下行添加到/etc/profile

将以下行添加到/etc/sysctl.conf

我确保它/srv/core存在并具有777权限。我执行init 6以重新启动操作系统。系统恢复后,我执行了以下 C 脚本以尝试生成核心文件:

输出很简单Quit,而我希望看到Quit (core dumped);它显然不会产生核心文件:(

我错过了什么或做错了什么?在此先感谢您的帮助!

0 投票
2 回答
7980 浏览

hadoop - hadoop ulimit 打开文件名

我有一个我们假设执行非常“糟糕”的 hadoop 集群。节点非常强大.. 24 核,60+G RAM ..etc。我们想知道是否有一些基本的 linux/hadoop 默认配置会阻止 hadoop 充分利用我们的硬件。

这里有一篇文章描述了一些我认为可能是真的可能性。

我尝试以 root、hdfs 和我自己的身份登录 namenode,并尝试lsof查看ulimit. 这是输出,谁能帮我理解为什么设置与打开的文件编号不匹配。

例如,当我以 root 身份登录时。lsof看起来像这样:

但是当我检查ulimit输出时,它看起来像这样:

我假设,一个用户打开的文件不应超过 1024 个,但是,当您查看 的输出时lsof,一个用户打开了 7000 多个文件,谁能帮忙解释这里发生了什么?ulimit如果我在理解和之间的关系时犯了任何错误,请纠正我lsof

非常感谢!

0 投票
1 回答
2425 浏览

file-io - 使用太多文件描述符/泄漏去 ioutil?

我正在浏览一个文件列表并将其中的 xml 数据解组为一个 structs 数组rArray。我打算处理大约 18000 个文件。当我处理了大约 1300 个文件时,程序会出现恐慌并说打开了太多文件。如果我将处理的文件数量限制为 1000 个安全数量,则程序不会崩溃。

如下所示,我正在使用ioutil.ReadFile读取文件数据。

我不确定 Go 是否使用了太多的文件描述符或没有足够快地关闭文件。

阅读https://groups.google.com/forum/#!topic/golang-nuts/7yXXjgcOikM并查看http://golang.org/src/pkg/io/ioutil/ioutil.goioutil中的源代码后,代码for表示它用于关闭文件。当调用函数返回时运行并且是调用函数。我的理解正确吗?我还尝试将我的部分代码包装在一个函数中,但这没有任何区别。ioutil.ReadFiledeferdeferReadFile()ioutil.ReadFile

ulimit的设置为无限。

更新: 我相信太多文件的错误实际上是在我的解压缩功能期间发生的。

我最初是从https://gist.github.com/hnaohiro/4572580Unzip获得的函数,但经过进一步检查,在 gist 作者的函数中使用似乎是错误的,因为文件只会在函数返回后关闭,为时已晚因为那时将打开 18000 个文件描述符。;)deferUnzip()

Close如上所示,我用显式替换了 deferred Close(),但仍然收到相同的“打开的文件太多”错误。我修改后的解压功能有问题吗?

更新# 2 糟糕,我在 Heroku 上运行它,并且一直在将我的更改推送到错误的应用程序。经验教训:在 heroku 工具带中验证目标应用程序。

来自https://gist.github.com/hnaohiro/4572580的解压缩代码不起作用,因为在处理完所有文件之前它不会关闭文件。

我上面明确关闭的解压缩代码有效,@peterSO 答案中的延迟版本也是如此。

0 投票
8 回答
139927 浏览

docker - 如何在 docker 容器上设置 ulimit / 文件描述符图像标签是 phusion/baseimage-docker

我需要在使用 ssh 连接到容器的 docker 容器上正确设置文件描述符限制(https://github.com/phusion/baseimage-docker

已经尝试过:

  • 编辑 limits.conf 容器忽略此文件
  • 新贵程序在https://coderwall.com/p/myodcq找到,但这个 docker 映像有不同类型的初始化进程。(运行)
  • 我试图在 /etc/pam.d 中修改 pam 库的配置
  • 尝试在 sshd_config 中为 ssh 启用 pam

输出总是一样的。