标签: limit

/etc/security/limits.conf 中的更改是否需要重新启动?

更改是否/etc/security/limits.conf需要重新启动才能生效?

例如,如果我有一个在 中设置以下限制的脚本/etc/security/limits.conf,是否需要重新启动系统才能使这些限制生效?

* hard nofile 94000
* soft nofile 94000
* hard nproc 64000
* soft nproc 64000
Run Code Online (Sandbox Code Playgroud)

limit ulimit

180
推荐指数
5
解决办法
37万
查看次数

为什么在 Linux 中限制打开文件的数量?

现在,我知道如何:

  • 查找每个进程的打开文件限制: ulimit -n
  • 计算所有进程打开的所有文件: lsof | wc -l
  • 获取允许的最大打开文件数: cat /proc/sys/fs/file-max

我的问题是:为什么在 Linux 中有打开文件的限制?

limit open-files

158
推荐指数
3
解决办法
23万
查看次数

如何限制ls打印的文件数量?

有没有办法限制ls命令上列出的文件数量?

我见过:

ls | head -4
Run Code Online (Sandbox Code Playgroud)

但是要获得head或被tail执行,我需要等待ls完成执行,并且目录中的文件数量巨大,可能需要相当长的时间。

我希望在ls不使用该head命令的情况下执行一个限制命令。

command-line ls limit

147
推荐指数
3
解决办法
23万
查看次数

如何在 Linux 中将进程限制为一个 CPU 内核?

如何将进程限制为一个 CPU 内核?

类似于ulimitcpulimit会很好的东西。(只是为了确保:我不想限制使用百分比或执行时间。我想强制应用程序(包括所有子进程、进程(线程))使用一个 cpu 核心(或“n”个 cpu 核心))。

linux cpu process limit

80
推荐指数
2
解决办法
10万
查看次数

使用 4.3 内核创建线程失败并显示“资源暂时不可用”

我正在 Arch Linux(内核 4.3.3-2)上运行一个带有多个容器的 docker 服务器。自从我上次重新启动后,容器内的 docker 服务器和随机程序都崩溃了,并显示一条关于无法创建线程或(较少)fork 的消息。具体的错误信息因程序而异,但大多数似乎都提到了具体的错误Resource temporarily unavailable。有关一些示例错误消息,请参见本文末尾。

现在有很多人收到了这个错误信息,并且有很多人对他们做出了回应。真正令人沮丧的是,每个人似乎都在猜测如何解决问题,但似乎没有人指出如何确定存在问题的众多可能原因中的哪一个。

我收集了这 5 个可能的错误原因以及如何验证它们不存在于我的系统中:

  1. /proc/sys/kernel/threads-max( source ) 中配置的线程数有系统范围的限制。在我的情况下,这设置为60613.
  2. 每个线程都在堆栈中占用一些空间。堆栈大小限制是使用ulimit -s( source )配置的。我的壳的极限曾经是8192,但我已经通过将增加其* soft stack 32768/etc/security/limits.conf,因此它ulimit -s现在的回报32768。我也增加了它的码头工人,过程将LimitSTACK=33554432进入/etc/systemd/system/docker.service,和我核实,该限制适用通过查看/proc/<pid of docker>/limits,并通过运行ulimit -s一个泊坞窗容器内。
  3. 每个线程都需要一些内存。虚拟内存限制是使用ulimit -v. 在我的系统上,它设置为unlimited,并且我的 3 GB 内存中有 80% 是空闲的。
  4. 使用 的进程数有限制ulimit -u。在这种情况下,线程算作进程()。在我的系统上,限制设置为30306 …

linux limit fork thread docker

51
推荐指数
2
解决办法
8万
查看次数

如何创建 RAM 使用量有限的用户?

所以我有 4 GB RAM + 4GB 交换。我想创建一个具有有限内存和交换空间的用户:3 GB RAM 和 1 GB 交换空间。这样的事情可能吗?是否可以在不创建单独用户的情况下启动具有有限 RAM 的应用程序并对其进行交换(并且不安装任何特殊应用程序 - 只有默认的 Debian/CentOS 服务器配置,并且不使用 sudo)?

更新:

所以我打开终端并输入ulimit命令:ulimit -v 1000000这就像976,6Mb限制。接下来我打来电话ulimit -a,看到限制是“开启”。然后我开始了一些 bash 脚本,它编译并启动我的应用程序nohup,很 nohup ./cloud-updater-linux.sh >& /dev/null &......但一段时间后我看到:

在此处输入图片说明

(如果没有应用限制就可以了——它下载了一些大的库,并开始编译它。)

但我认为我对 shell 和所有使用它启动的进程应用了限制ulimit -v 1000000?我做错了什么?如何使终端及其启动的所有子进程限制在 ram 使用上?

users memory limit not-root-user

49
推荐指数
2
解决办法
8万
查看次数

如何增加所有进程的打开文件限制?

我可以使用 ulimit 但我认为这只会影响我的 shell 会话。我希望增加所有进程的限制。这是在红帽上。

rhel limit resources ulimit

43
推荐指数
5
解决办法
15万
查看次数

有没有办法限制特定进程在 Unix 中可以使用的内存量?

我需要测试一个内存管理过程。

  • 我没有源代码,所以我需要从操作系统端进行所有测试。
  • 我希望能够说类似的话 limitmemory 400k -p <pid>

有没有办法在unix中做到这一点?任何常见的 Unix 实用程序都很棒。

process memory limit

40
推荐指数
4
解决办法
6万
查看次数

限制进程不超过 CPU 使用率的 10%

我运行的 Linux 系统有很多用户,但有时会发生滥用;用户可能会运行一个占用超过 80% 的 CPU/内存的进程。

那么有没有办法通过限制进程可以使用的 CPU 使用量(例如 10%)来防止这种情况发生?我知道cpulimit,但不幸的是,它对我指示它限制的进程(例如单个进程)应用了限制。所以我的问题是,如何将限制应用于所有正在运行的进程和将来将运行的进程,而无需提供它们的 id/path 例如?

command-line cpu centos limit

40
推荐指数
5
解决办法
7万
查看次数

使用 iptables 限制每个 IP 地址的最大连接数和每秒新连接数

我们有一个 Ubuntu 12.04 服务器,在端口 80 上有 httpd,我们想限制:

  • 每个 IP 地址到 httpd 的最大连接数为 10
  • 每秒到 httpd 的最大新连接数为 150

我们如何用 iptables 做到这一点?

iptables limit

38
推荐指数
3
解决办法
12万
查看次数