问题标签 [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 回答
28362 浏览

windows - Windows 相当于 ulimit -n

什么是 windows 等效的 unix 命令“ulimit -n”?

基本上,我想通过命令提示符设置最大 fd 限制。

0 投票
2 回答
35810 浏览

linux - “ulimit -l”是什么意思?

根据手册页,ulimit 中的“-l”表示“可以锁定到内存中的最大大小”。这句话到底是什么意思?它如何影响正在运行的程序?

0 投票
1 回答
9572 浏览

linux - ubuntu下的ulimit -t

我正在运行 Ubuntu Linux(2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009 i686 GNU/Linux),似乎命令“ulimit -t”无法正常工作。我跑了:

ulimit -t 1;我的程序

其中“myprogram”是一个无限循环。我预计程序会在 1 秒后中断,但它并没有停止。我在 Linux Fedora 安装上尝试了同样的事情,它按预期工作。

是否必须设置一些配置才能使其正常工作?

-- tsf

0 投票
3 回答
29209 浏览

python - Python:ulimit 和不错的 subprocess.call / subprocess.Popen?

我需要限制使用 subprocess.call 从 python 进程生成的外部命令行应用程序占用的时间和 cpu,主要是因为有时生成的进程会卡住并将 cpu 固定在 99%。

nice 和 ulimit 似乎是执行此操作的合理方法,但我不确定它们如何与子进程交互。

  • 限制看起来像:
    • 如果进程超过 60 秒,则终止进程
    • 将其限制为 CPU 的 20%
  • 我想将资源限制应用于子进程,而不是生成子进程的 python 进程。

有没有办法将 nice 和 ulimit 应用于 subprocess.call 生成的进程?有更好的python原生替代品吗?

这是在 linux (ubuntu) 系统上。

0 投票
4 回答
16532 浏览

linux - ssh远程命令执行和ulimit

我有以下脚本:

在本地运行流畅,总是可以的。但是如果我尝试通过 ssh 远程运行它:

我得到了错误:

我还尝试了以下命令:

同样的错误。

看起来 ssh 远程命令执行正在对 nofile 限制执行 1024 硬限制,但我不知道如何修改此默认值。我试图修改/etc/security/limits.conf 并重新启动sshd,仍然是同样的错误。

0 投票
1 回答
2280 浏览

memcached - ulimit 是否需要使用 -c 启动 memcached?

如果像这样以 root 身份启动:

我是否需要我的启动脚本如下所示:

还是 memcached 会自动设置最大打开文件数?

0 投票
4 回答
10239 浏览

linux - 如何从适用于其子级的 Perl 脚本中设置 ulimit?

我有一个 Perl 脚本,它执行各种安装步骤来为我们公司设置一个开发框。它运行各种 shell 脚本,其中一些由于低于所需的 s (特别是在我的情况下ulimit的堆栈大小)而崩溃。-s

因此,我想设置一个ulimit适用于children从我的主要 Perl 脚本开始的所有脚本(子shell,它立即退出。

我知道我可以ulimit在运行 Perl 脚本或使用之前调用,/etc/security/limits.conf但我不希望用户知道这些 - 他们应该只知道如何运行脚本,这应该为他们处理所有这些。

我也可以在ulimit每次运行命令时运行,就像这样,ulimit -s BLA; ./cmd但我不想每次都重复这个,我觉得那里有一个更好、更清洁的解决方案。

另一个疯狂的“解决方法”是制作一个名为 BLA.sh 的包装脚本,该脚本将设置 ulimit 并调用 BLA.pl,但同样,我认为这是一个 hack,现在我有 2 个脚本(我什至可以制作 BLA.pl用“ulimit -s BLA; ./BLA.pl --foo”调用自己,并根据它是否看到 --foo 采取不同的行动,但这比以前更难了)。

最后,显然我可以安装 BSD::Resource 但我想避免使用外部依赖项。

那么从 Perl 脚本中设置 ulimit 并使其适用于所有子级的方法是什么?

谢谢你。

0 投票
2 回答
6958 浏览

java - JBoss deployment throws 'java.util.zip.ZipException: error in opening zip file' on Linux?

I deployed a large EAR (contained more than ~1024 jars/wars) on JBoss running with Java 6 on Linux, and the deployment process cried throwing the following exception:

0 投票
4 回答
17452 浏览

c++ - linux中进程的堆栈大小是否有限制

Linux中进程的堆栈大小是否有限制?它只是依赖于机器的 RAM 吗?

我想知道这一点以限制对函数的递归调用的深度。

0 投票
3 回答
3071 浏览

linux - Linux 每个进程的资源限制 - 红帽的一个深奥秘

我有自己的多线程 C 程序,它的速度随着 CPU 内核的数量而平滑地扩展。我可以用 1、2、3 等线程运行它并获得线性加速。在 6 核上速度高达约 5.5 倍Ubuntu Linux 机器上的 CPU。

我有机会在具有 4 个四核 Xeon 处理器、运行 Red Hat Enterprise Linux 的高端 Sunfire x4450 上运行该程序。我急切地期待看到 16 核能够以多快的速度运行我的 16 线程程序。但它的运行速度与只有两个线程的速度相同!

经过大量的拉扯和调试,我看到我的程序确实在创建所有线程,它们确实同时运行,但是线程本身比它们应该的要慢。2 个线程的运行速度大约是 1 的 1.7 倍,但 3、4、8、10、16 个线程的运行速度都仅为 1.9 倍!我可以看到所有线程都在运行(没有停止或休眠),它们只是很慢。

为了检查硬件没有问题,我同时独立地运行了我的程序的 16 个副本。他们都全速奔跑。确实有 16 个内核,它们确实可以全速运行,并且确实有足够的 RAM(实际上这台机器有 64GB,我每个进程只使用 1GB)。

所以,我的问题是是否有一些操作系统解释,也许是一些每个进程的资源限制,它会自动缩减线程调度以防止一个进程占用机器。

线索是:

  1. 我的程序不访问磁盘或网络。它的 CPU 有限。它的速度在 Ubuntu Linux 中的单个 CPU 盒上线性扩展,具有 1-6 个线程的 hexacore i7。6 线程实际上是 6 倍加速。
  2. 我的程序在这个 16 核 Sunfire Xeon 机器上的运行速度从未超过 2 倍,对于 2-16 的任意数量的线程。
  3. 运行 16 个我的程序单线程副本完美运行,所有 16 个同时全速运行。
  4. top 显示 1600% 的 CPU 已分配。/proc/cpuinfo 显示所有 16 个内核以 2.9GHz 的全速运行(不是 1.6GHz 的低频空闲速度)
  5. 有 48GB 的​​可用 RAM,它没有交换。

发生了什么?是否有一些进程 CPU 限制策略?如果是这样,我怎么测量它?还有什么可以解释这种行为?

感谢您解决这个问题的想法,2010 年至强减速之谜!