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

java - Java 和虚拟内存 ulimit

我正在尝试在虚拟内存限制为 2GB 的环境中使用 java,ulimit -v 2000000但出现内存错误。java -version在此环境中运行会给出:

不管我设置得有多低-Xmx,我都无法让java在这个环境下运行。但是,如果ulimit -v设置为2.5GB,那么我可以设置-Xmx为250m,但不能更高。

是否可以在使用ulimit限制虚拟内存的环境中使用java?

0 投票
1 回答
5142 浏览

node.js - Node.js 和 ulimit

我在这里和那里看到了关于在使用 Node.js 时在 Linux 中设置 ulimit -n(文件句柄)的少量讨论。大多数 linux 发行版的默认值是 1024。我在任何地方都找不到推荐。通常对于 apache,您会将其设置得相当高。对此有什么想法吗?开始时很容易将其设置为高,但不确定是否需要。我们正在远程使用 Mongo,而不是在本地打开很多文件。

0 投票
2 回答
465 浏览

linux - 为什么ulimit -c 返回0,但是cat /proc/${pid}/limit 显示“unlimited”,怎么改?

  1. 如何将进程从无限制设置为0?
  2. 如何将所有进程从无限制设置为0?
0 投票
0 回答
911 浏览

node.js - Node.js + Beanstalkd (Nodestalker) ECONNRESET

我一直在进行大型多服务器 Node.js 部署。技术栈:

服务器 1(Ubuntu 12.04):

  • Node.js API Server(Express 应用,用于输入)
  • Node.js Push Server(100个worker,用于发送结果)
  • 雷迪斯
  • 豆茎

服务器 2-4(Ubuntu 12.04):

  • Node.js引擎服务器(每台服务器 150 个工作人员,用于计算)

所有 Node.js 应用程序都使用 Nodestalker 作为他们的 Beanstalkd 客户端。

启动所有服务器后,一个或多个 Node.js 应用程序将反复崩溃并出现此错误(LongJohn 输出):

成功打开所有连接的服务器工作正常,直到手动重新启动。

每个引擎服务器的每个工作人员都有 2 个开放的 Beanstalk 客户端,每个推送工作人员也有一个 Beanstalkd 客户端。这将导致在任何给定时间与 Beanstalk 建立约 1000 个打开的连接。

经过研究,似乎我已经达到了打开文件描述符的限制(默认为 1024)。但是,无论我将限制提高到什么程度,在我重新启动进程后,错误仍然几乎立即发生。快速 lsof 显示没有连接泄漏。

作为 root,我已经ulimit -n 4096在每个运行进程的用户上运行,这会立即准确地反映在ulimit -n之后。

我还在limits.conf 中为所有相关用户编辑了软和硬nofile 限制。这可能是巧合,也可能不是巧合,但这些值不适用于服务器重新启动时的用户。

我的limits.conf:

服务器重新启动后su beanstalkd仍然ulimit -n显示 1024。我session required pam_limits.so取消了/etc/pam.d/common-session所有其他 pam.d 文件的注释。

简而言之,所有迹象都指向文件描述符的障碍,但无论将限制提高到什么程度,错误仍然会发生。提前致谢!

0 投票
1 回答
948 浏览

c - 导致 malloc() 在 CentOS 上返回 NULL

我即将教授一门 C 语言计算机科学入门课程,我想向学生展示为什么他们应该检查 malloc() 是否返回 NULL。我的计划是用来ulimit限制可用内存的数量,以便我可以使用不同的限制来执行不同的代码路径。我们规定的环境是 CentOS 6.5。

我的第一次尝试失败了,外壳显示“Killed”。这让我发现了 Linux OOM 杀手。从那以后,我一直试图找出会导致我正在寻找的结果的魔法咒语。显然我需要搞砸:

  • /etc/sysctl.conf
  • ulimit -m
  • ulimit -v
  • vm.overcommit_memory(根据 Oracle 文章,显然应该设置为 2)

到目前为止,我要么被“杀死”,要么出现分段错误,这两者都不是预期的结果。我被 vm_overcommit_memory=2 “杀死”的事实意味着我绝对不明白发生了什么。

如果有人能找到一种方法,在 CentOS 上人为且可靠地创建一个受约束的执行环境,以便学生学习如何处理 OOM(和其他?)类型的错误,许多课程讲师会感谢你。

0 投票
1 回答
3007 浏览

hadoop - 在 ubuntu 12.04 上更改 ulimit 永远不起作用

我正在使用 hadoop,需要更改打开文件的数量ulimit -n。我在 stackoverflow 和其他地方看到了类似的问题,并尝试了这些答案中的所有内容,但它仍然不起作用。我正在与ubuntu 12.04 LTS. 这是我所做的:

更改限制/etc/security/limits.conf,我已经为 * 和root. 我还将限制更改为某些数字,例如10000unlimited

我也尝试过使用-而不是soft和进行上述设置hard。在这些更改之后,我对/etc/pam.d/文件进行了更改,例如:

我已经添加session required pam_limits.so到每个文件的开头。我重新启动了有问题的盒子,设置没有生效。

我还发现/etc/security/limits.d/目录中有用户文件hbase mapredhdfs. 我也尝试更改这些单个文件的限制,但无济于事。

我也试过ulimit -S -n unlimited放进/etc/profile去。那没起效。

最后,我尝试将limit nofile unlimited unlimited内部/etc/init.d/hadoop*文件作为第一行。不工作。

一件有趣的事情是,我没有在盒子上安装 hbase,但我确实在目录中有一个hbase.conf文件。/etc/security/limits.d/此文件中的设置以 反映ulimit -n。但设置hdfs.confmapred.conf没有反映。这表明某些东西正在覆盖hdfs和的设置mapred

我想我已经尝试了人们在几个论坛上建议的所有内容,还有什么我可能遗漏或做错的事情吗?

我正在使用CDH 4.4.0我的 hadoop 发行版。

0 投票
0 回答
326 浏览

unix - 如何在shell环境中使用ulimit来限制内存?

我正在尝试设置命令的最大内存使用量ulimit。我的命令目前是:

python 进程使用超过 5MB 的内存。我对ulimit命令做错了什么?

0 投票
10 回答
245999 浏览

linux - 如何在 Ubuntu 中增加 Neo4j 的最大文件打开限制(ulimit)?

目前ulimit -n显示10000。我想把它增加到40000. 我编辑了“/etc/sysctl.conf”并将fs.file-max=40000. 我还编辑/etc/security/limits.conf和更新了硬值和软值。但仍然 ulimit 显示10000。完成所有这些更改后,我重新启动了笔记本电脑。我可以访问root密码。

/etc/security/limits.conf-

我还在/etc/pam.d/su-

我已经尝试了其他论坛上给出的所有可能的方法,但我可以达到最大限制10000,而不是超过这个限制。可能是什么问题?

我进行此更改是因为neo4j抛出最大打开文件限制达到错误。

0 投票
1 回答
103 浏览

java - 我们可以在 java 中实现的性能改进特性列表

可能这是一个众所周知的问题,但我没有找到这个问题的最佳参考......

  1. 计算和分配默认 u 限制、详细(用于 gc)和最大堆内存值的公式是什么?

  2. 如果没有特定的公式,那么为特定机器指定此公式的标准是什么。

如果可能的话,任何人都可以解释这些概念

  1. 为了提高性能,我们还需要考虑其他任何概念吗?

  2. 如何调整 JVM 以获得更好的性能,

0 投票
1 回答
5363 浏览

ubuntu - 将 ulimit 设置得很高有什么缺点吗?

我在 Ubuntu 12 上使用 Tomcat7 时遇到了太多打开文件的问题,因此我将打开文件数量的硬限制和软限制分别从 4096 和 1024 增加到 16384。现在我没有收到更多关于打开文件,但总体 CPU% 似乎有所上升。增加最大文件的数量是否也会消耗 CPU 时间?如果不是,为什么不将 ulimit 设置得非常高呢?