AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[ulimit](unix)

Martin Hope
PRouleau
Asked: 2025-03-25 23:49:37 +0800 CST

“ulimit -c 0”与“ulimit -c unlimited”相同吗?

  • 5

我是否正确地假设ulimit -c 0将核心文件创建的最大大小设置为无限制(不受约束、无限制)的值?

我尝试过的 Linux 发行版 Bash(Rocky Linux 8.10、9.5、Ubuntu)中,甚至在 macOS 中运行的 Bash 5.2.37 中,都提到了ulimit -c unlimited但没有提到 0 或“无限”。在 macOS 上的 zsh 5.9 下,提到了和,但没有提到 0。help ulimitrun-help ulimitunlimitedhard

ulimit
  • 1 个回答
  • 48 Views
Martin Hope
BugStrategy
Asked: 2022-02-12 14:34:43 +0800 CST

如何永久设置“ulimit -n”?Ubuntu 服务器 20.04 LTS

  • 0

我想ulimit -n永久设置。我已经尝试将其添加到/etc/security/limits.conf

*  soft  cpu  nofile 1048576
*  hard  cpu  nofile 1048576

和编辑/proc/sys/fs/file-max

重新启动 Ubuntu 后,这两个文件仍然配置良好,但是当我这样做时,ulimit -n我仍然得到默认限制。

ubuntu ulimit
  • 1 个回答
  • 1144 Views
Martin Hope
400 the Cat
Asked: 2020-01-03 22:00:31 +0800 CST

Chromium 浏览器:超出数据限制

  • 7

我已经在/etc/security/limits.conf. 当我以用户身份正常登录我的桌面环境时testuser(使用 slimlogin管理器),一切正常。

当我testuser通过Xephyr(从我的另一个会话作为另一个用户)以用户身份登录时,除了chromium浏览器之外一切正常。这是我得到的错误dmesg:

Chrome_ChildIOT (2472): VmData 4310827008 exceed data ulimit 4294967296. Update limits or use boot option ignore_rlimit_data.

并且铬无法使用(它会启动,但会无限期地等待加载任何页面)

chromium除了设置正确的限制之外的所有其他程序。我已经使用以下方法验证了这一点:

find /proc/ -maxdepth 1 -user testuser -exec cat {}/limits \; | grep 'Max data size'

全部PIDs设置Max data size为无限制:

Max data size             unlimited            unlimited            bytes

除了chromium进程:

Max data size             4294967296           4294967296           bytes     
Max data size             17179869184          17179869184          bytes     
Max data size             17179869184          17179869184          bytes     
Max data size             17179869184          17179869184          bytes     
Max data size             17179869184          17179869184          bytes     
Max data size             17179869184          17179869184          bytes     
Max data size             17179869184          17179869184          bytes     
Max data size             17179869184          17179869184          bytes  

我想了解:

1)为什么chromium与所有其他程序有不同的限制?

2)“默认”限制来自哪里(铬从哪里获得限制4294967296?

3)我如何才能一劳永逸地更改这些默认限制,全局,所有进程,无论它们是否使用 pam ?

ulimit chrome
  • 3 个回答
  • 1494 Views
Martin Hope
leeand00
Asked: 2019-10-16 13:23:00 +0800 CST

我可以使用 ulimit 来防止系统过热和重新启动吗?

  • 1

我刚刚得知ulimit.

这让我开始思考……如果我的系统带有一个一直过热的旧处理器,让我们举例说明;没有其他硬件可以插入,因为它太旧了;通过限制用户使用的系统资源量,这可能会使 CPU 保持凉爽并允许我从中复制我的东西吗?

我的意思是这听起来像是一种 hack,而不是 的预期目的ulimit,但我只是想知道这是否有效。我也猜想,尽管您必须将其应用于系统上的所有用户。而且我还认为运行级别 1 也会导致类似的方式。

ulimit
  • 1 个回答
  • 173 Views
Martin Hope
Bart
Asked: 2019-08-16 00:54:44 +0800 CST

更改正在运行的进程的资源限制(ulimit / rlimit)

  • 4

我有一个长时间运行的进程正在达到资源限制,例如打开文件的最大数量。

我不想杀了它。

通常,你会这样做:

(stop service)
ulimit -n <new limit>
(start service)

有没有办法避免停止和启动服务并增加限制?

linux ulimit
  • 1 个回答
  • 4645 Views
Martin Hope
Chris Maes
Asked: 2019-04-26 08:12:24 +0800 CST

运行多个 docker 实例时出现“pthread_create:资源暂时不可用”

  • 6

TLDR

当我在其中运行多个 docker 容器时npm ci,我开始收到pthread_create: Resource暂时不可用错误(少于 5 个 docker 容器可以正常运行)。我推断某处存在某种线程限制,但我找不到哪一个在这里阻塞。

配置

  • 一个Jenkins实例为每个构建启动 docker 容器(通过 ssh 连接到这个 docker 容器)。
  • 在每个容器中运行一些构建命令;我在使用时经常看到错误,npm ci因为这似乎创建了很多线程;但我不认为问题与npm它本身有关。
  • 所有 docker 容器都在单个docker-host上运行。它的规格:

码头主机

  • Intel(R) Xeon(R) Gold 5118 CPU @ 2.30GHz,12 核,220 GB RAM
  • 森托斯 7
  • Docker 版本 18.06.1-ce,构建 e68fc7a
  • 系统版本 219
  • 内核 3.10.0-957.5.1.el7.x86_64

错误

我可以看到不同形式的错误:

  • jenkins 无法联系到 docker 容器;像这样的错误:java.lang.OutOfMemoryError:无法创建新的本机线程
  • git clone在容器内失败并出现错误:克隆远程 repo 'origin' 时出错 ... 原因:java.lang.OutOfMemoryError:无法创建新的本机线程
  • npm ci使用节点 [1296] 在容器内失败:pthread_create:资源暂时不可用

我调查或尝试过的事情

我看了很多这个问题。

  • docker-host的systemd版本为 219,因此没有该TasksMax属性。
  • /proc/sys/kernel/threads-max= 1798308
  • kernel.pid_max= 49152
  • 线程数ps -elfT | wc -l(
  • 所有构建都以 docker 容器内 pid 1001 的某个用户身份运行;但是docker-host上没有 pid 1001 的用户,所以我不知道哪些限制适用于该用户。
  • 我已经为所有用户增加了多个限制/etc/security/limits.conf(见下文)
  • 我在docker-host上创建了一个 uid 1001 的虚拟用户,并确保它也nproc将限制设置为无限制。登录该用户ulimit -u= 无限制。这仍然没有解决问题

/etc/security/limits.conf :

*               soft    nproc           unlimited
*               soft    stack           65536
*               soft    nofile          2097152

ulimit -a作为根的输出:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 899154
max locked memory       (kbytes, -l) 1048576
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1048576
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 65536
cpu time               (seconds, -t) unlimited
max user processes              (-u) 899154
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

我的 dockerd 进程的限制(/proc/16087/limits16087 是 dockerd 的 pid 的猫)

Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            unlimited            unlimited            bytes     
Max core file size        unlimited            unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             unlimited            unlimited            processes 
Max open files            65536                65536                files     
Max locked memory         65536                65536                bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       899154               899154               signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us
docker ulimit
  • 1 个回答
  • 6908 Views
Martin Hope
Ilia Minkin
Asked: 2019-02-16 14:24:09 +0800 CST

防止机器因内存不足而变慢

  • 1

我的软件运行的命令类似于:

查找 | xargs 做了一项潜在的内存消耗工作

问题是有时一个可能需要内存的工作太饿了,系统没有响应,我必须重新启动它。我的理解是,这是由于内存分配超过承诺而发生的。我想要发生的是,如果 xargs 生成的作业需要比可用内存更多的内存,它就会死掉(我可以接受),就是这样。我想如果我在系统范围内关闭过度使用,我可以得到这种行为,但这不是一个选项。是否可以将其关闭以进行进程?

我正在考虑的一个可能的解决方案是设置

ulimit -v 内存大小

但有些事情告诉我这不是一个好主意。

ulimit xargs
  • 2 个回答
  • 384 Views
Martin Hope
sourcejedi
Asked: 2019-02-13 11:01:20 +0800 CST

谁会赢,RLIMIT_NPROC 还是用户命名空间?

  • 2

根据配置,非特权(非根)进程可以创建用户命名空间。

RLIMIT_NPROC限制每个用户的进程数。

如果我输入用户命名空间,我可以创建具有不同 UID 的进程,从而超出我的真实RLIMIT_NPROC吗?

ulimit resources
  • 2 个回答
  • 516 Views
Martin Hope
pkaramol
Asked: 2018-10-27 23:24:00 +0800 CST

为什么 ulimit -n 修改硬限制

  • 0

检查当前 shell 的打开文件(软)限制

/home/pkaramol
$  ulimit -n
1024

检查硬限制

/home/pkaramol
$ ulimit -n -H
1048576

将(软)限制设置为硬限制值并验证它是否有效:

/home/pkaramol
$ ulimit -n hard
/home/pkaramol
$ ulimit -n
1048576

问题是为什么下面的命令会同时修改硬 限制和软限制,因为当没有提供开关时,默认是在软限制上进行操作

/home/pkaramol
$ ulimit -n 2048
/home/pkaramol
$ ulimit -n 
2048
/home/pkaramol
$ ulimit -n -H
2048

硬限制降低到什么时候2048?

ulimit
  • 1 个回答
  • 3622 Views
Martin Hope
igiannak
Asked: 2018-10-13 05:07:24 +0800 CST

ulimit不同类型的配置说明

  • 1

我正在设置几个 ulimit(系统是 rhel 7.5),但我找不到任何关于type. 从内部/etc/security/limits.conf我得到该类型可以获取两个值,而在配置示例中该文件包含有 3 个值:

  1. 柔软的
  2. 难的
  3. - (破折号)

在@students下面的文件示例中,有一个类型-。

何时使用- (破折号)?

    ....
    #<type> can have the two values:
    #        - "soft" for enforcing the soft limits
    #        - "hard" for enforcing hard limits
    .....
    #<domain>      <type>  <item>         <value>
    #*               soft    core            0
    #*               hard    rss             10000
    #@student        hard    nproc           20
    #@faculty        soft    nproc           20
    #@faculty        hard    nproc           50
    #ftp             hard    nproc           0
    #@student        -       maxlogins       4
    .....
linux ulimit
  • 1 个回答
  • 2373 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve