问题标签 [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 投票
4 回答
12517 浏览

python - 驻留集大小 (RSS) 限制无效

在使用 2.6.32-22-generic 内核运行 Ubuntu 10.04 的机器上会出现以下问题: 为进程的驻留集大小 (RSS) 设置限制似乎没有任何效果。我目前使用以下代码在 Python 中设置限制:

列表 memory_sink 每次都成功。当我用 top 检查 RSS 使用情况时,我可以很容易地让进程使用 1gb 的 RAM,这意味着限制不起作用。RSS 限制不适用于此内核或发行版吗?如果有帮助,resource.RLIMIT_NPROC(用户进程限制)确实有效。

0 投票
6 回答
10818 浏览

c - 如何在 Mac OS X 上增加 C 中“最大打开文件数”的限制

Mac OS X 上最大打开文件的默认限制是 256 (ulimit -n),我的应用程序需要大约 400 个文件处理程序。

我尝试使用 setrlimit() 更改限制,但即使函数执行正确,我仍然限制为 256。

这是我使用的测试程序:

输出是:

我不能要求使用我的应用程序的人戳入 /etc 文件或其他内容。我需要应用程序自行完成。

0 投票
3 回答
10317 浏览

macos - 如何限制 OS X 程序的内存?ulimit -v 都不 -m 工作

我的程序在我运行它们的一半时间里都会耗尽内存。在 Linux 下,我可以使用 ulimit -v mem-in-kbytes 设置可用内存的硬限制。实际上,我使用 ulimit -S -v mem-in-kbytes,所以我在程序中遇到了适当的内存分配问题,我可以中止。

但是... ulimit 在 OSX 10.6 中不起作用。我尝试过使用 -s 和 -m 选项,但它们不起作用。

2008 年,MacRumors对同一问题进行了一些讨论,但没有人提出一个好的替代方案。这应该是程序可以了解它消耗过多内存或通过操作系统设置限制的一种方式。

0 投票
2 回答
16552 浏览

linux - 为什么 ulimit 无法成功限制常驻内存以及如何限制?

我启动一个新的 bash shell,然后执行:

然后,我执行编译一个巨大的项目。它的链接将使用大内存,超过2G。结果,进程 ld 使用了超过 2G 的常驻内存。

有什么不对吗?如何使用 ulimit 或者我可以使用其他程序来限制常驻内存?

限制常驻内存的目标,是因为当一个进程几乎用完所有内存时计算机会死机。

0 投票
2 回答
4911 浏览

linux - gdb:虚拟内存耗尽

我正在尝试在 Linux 上使用 gdb 调试应用程序。但是,当从我要调试的共享库中加载符号时,gdb 总是失败并出现错误:

uname显示unlimited 所有参数,包括vmemory. 关于如何解决这个问题的任何想法?

0 投票
0 回答
352 浏览

java - java - Runtime.maxMemory 有多准确 - 可以看到 9gig 的差异吗?

可能重复:
Java Runtime.maxMemory 不正确?

我使用 -Xmx100G 启动应用程序。Runtime.maxMemory 返回的值为 91G。剩余内存(9G)去哪了?

我从其他帖子中看到 API 不是 100% 准确的。我想了解更多关于差异的信息。

我将虚拟内存大小设置为

命令失败。

0 投票
1 回答
4941 浏览

apc - 默认的最大锁定内存值来自哪里?

所以在一个系统上,我的价值观非常开放:

另一个系统有更多的限制值,但我终其一生都无法找出 32MB 上限(尽管有错误标签,但它是 32MB)的设置位置:

第二个系统是一个 RHEL 5.5 盒子。我希望为至少一个用户增加此限制——我需要更大的 APC mmap 内存分配,但如果不达到上述限制,我不能超过 30 MB,我宁愿不破解提供的 apache init 脚本。我应该在哪里尝试覆盖系统默认值,以便可以映射更大的内存段?在limits.conf 中为apache 用户做这件事并没有做很多事情。可能是因为初始化脚本没有通过 PAM 做任何事情。

0 投票
1 回答
1012 浏览

sockets - Javamail 在超时时不会完全关闭套接字

当通过 javamail 发送邮件时,会打开一个到 smtp 服务器的套接字。现在,我们遇到了这样的情况,即邮件服务器的连接在连接仍然存在并且 javamail 正在等待服务器时断开(垃圾邮件扫描需要几秒钟)。因此,TCP 连接从未真正关闭,客户端死锁。

所以我们决定使用 javamails 超时,这很有效——客户端在指定的时间后抛出异常。但是,tcp 连接未正确关闭(netstat -np 仍将连接显示为“ESTABLISHED”)。只有在我调用 System.gc() 之后,套接字才会关闭。

这是一个问题,因为 gc() 在抛出任何 OOM 异常之前得到保证,但在达到 FD 限制之前就没有保证......

这可以以某种方式规避还是这是javamail中的错误?

受影响的系统:Linux (debian lenny)、Sun JDK 1.6.0.20 (with -XXUseSSE=3)、javamail 1.4.3

0 投票
3 回答
2612 浏览

linux - 限制对 Cuda 和 OpenCL 资源的访问

我们想扩展我们的批处理系统以支持 GPU 计算。

问题在于,从批处理系统的角度来看,GPU 是一种资源。我们可以很容易地统计使用的资源,但我们也需要限制对它们的访问。

对于 GPU,这意味着每个作业都只要求一个 GPU(当请求 GPU 时)。

据我所知,在作业之间共享 GPU 是一个非常糟糕的主意(因为作业的 GPU 部分可能会被随机终止)。

所以,我需要一些方法来限制对 CUDA 和 OpenCL 的 GPU 的访问。批处理系统具有 root 权限。我可以限制对/dev/使用设备的访问,cgroups但我认为在这种情况下这还不够。

理想状态是,如果作业只能看到它请求的 GPU 数量,并且任何其他作业都无法访问这些 GPU。

0 投票
1 回答
2449 浏览

linux - (节点)达到最大文件限制?

我在我的 node.js 实例中不断收到错误,它报告错误:

然而,当我检查我的 ulimit -n 时,它显示 65535。我的应用程序无法打开 65535 个连接。有没有人对其他检查有什么建议?

干杯