Questions tagged «ulimit»

可以使用ulimit命令设置的所有有关资源限制的信息

7
限制单个Linux进程的内存使用
我正在pdftoppm将用户提供的PDF转换为300DPI图像。这非常有效,除非用户提供的PDF页面尺寸很大。 pdftoppm将分配足够的内存以在内存中保存该大小的300DPI图像,对于100平方英寸的页面而言,其大小为100 * 300 * 100 * 300 *每个像素4个字节= 3.5GB。恶意用户可能只会给我一个笨拙的PDF并引起各种问题。 因此,我想对即将运行的子进程的内存使用量设置某种硬性限制-如果该进程尝试分配超过500MB的内存,则该进程就会死掉。那可能吗? 我不认为ulimit可以用于此目的,但是有一个单进程等效项吗?
151 linux  memory  ulimit 

5
/etc/security/limits.conf中的更改是否需要重新启动?
更改是否/etc/security/limits.conf需要重新启动才能生效? 就像我有一个在中设置以下限制的脚本一样/etc/security/limits.conf,这是否要求重新启动系统才能使这些限制生效? * hard nofile 94000 * soft nofile 94000 * hard nproc 64000 * soft nproc 64000
144 limit  ulimit 



3
为什么我不能用叉子炸弹使系统崩溃?
最近,我一直在挖掘有关GNU / Linux中进程的信息,并且遇到了臭名昭著的fork炸弹: :(){ : | :& }; : 从理论上讲,它应该无限地自我复制,直到系统用尽资源为止。 但是,我尝试在CLI Debian和GUI Mint发行版上进行测试,并且似乎对系统影响不大。是的,这里创建了无数的进程,过了一会儿我读到控制台消息,例如: bash:fork:资源暂时不可用 bash:fork:重试:没有子进程 但是一段时间后,所有进程都被杀死,一切恢复正常。我读过ulimit设置了每个用户的最大进程数,但是我似乎无法真正提高它。 对叉弹有哪些系统保护措施?它为什么不复制自身,直到一切冻结或至少滞后很多?有没有办法用叉子炸弹使系统真正崩溃?
54 linux  process  fork  ulimit 

2
限制文件描述符的数量
我正在尝试安装389-ds,它给了我这个警告: WARNING: There are only 1024 file descriptors (hard limit) available, which limit the number of simultaneous connections. 我了解文件描述符,但不了解软限制和硬限制。 当我跑步时cat /proc/sys/fs/file-max,我回来了590432。这意味着我最多可以打开590432文件(即,最多可以打开590432文件描述符)。 但是当我跑步时ulimit,它给我不同的结果: $ ulimit unlimited $ ulimit -Hn # Hard limit 4096 $ ulimit -Sn # Soft limit 1024 但是,硬/软限制来自ulimit什么?它们与存储在其上的数字/proc/sys/fs/file-max有何关系?



1
如何使用systemd在服务上设置ulimit?
您如何在systemd服务单元上设置ulimit? 这个stackoverflow问题说明systemd忽略了系统ulimits 设置以下ulimit的语法是什么样的? ulimit -c ulimit -v ulimit -m [Unit] Description=Apache Solr After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=forking SOLR_INSTALL_DIR=/opt/solr SOLR_ENV=/etc/default/solr.in.sh RUNAS=solr SOLR_PID_DIR="/var/solr" SOLR_HOME="/opt/solr/server/solr" LOG4J_PROPS="/var/solr/log4j.properties" SOLR_LOGS_DIR="/opt/solr/server/logs" SOLR_PORT="8389" PIDFile=/var/solr/solr-8389.pid ExecStart=/opt/solr/bin/solr start ExecStatus=/opt/solr/bin/solr status ExecStop=/opt/solr/bin/solr stop Restart=on-failure User=solr SuccessExitStatus=143 0 [Install] WantedBy=multi-user.target
29 systemd  ulimit 

3
如何检查ulimit使用
有什么方法可以检查给定用户的ulimits使用情况吗?我知道您可以在启动时更改单个进程的ulimit,或者在运行时更改单个shell的ulimit,但是我希望能够“监视”用户接近其极限的距离。我正在计划编写一个bash脚本,该脚本将报告回statsd当前的使用百分比。具体来说,我想跟踪: 打开文件(ulimit -n) 用户进程数上限(ulimit -u) 待处理信号(ulimit -i) 我想要的是使用百分比(0-100)。
29 linux  bash  ulimit 

4
修改特定进程的ulimit(打开文件)
是否有可能改变软-和硬限制一个的具体过程? 就我而言,我的流程是mongod,许多网络资源告诉我只需执行: ulimit -n <my new value> 我目前的想法: 该命令将如何知道我将要修改的进程的限制?这不会修改整个系统的打开文件限制吗? 我猜想此命令只会更改软限制。那么有没有办法增加硬限制呢?
27 limit  ulimit 


2
如何预防叉子炸弹?
为了防止叉子炸弹,我遵循了此http://www.linuxhowtos.org/Tips%20and%20Tricks/ulimit.htm ulimit -a体现了新的设置,但是当我运行(如root中bash):(){ :|:&};:的虚拟机仍继续最大CPU +内存,系统将冻结。 如何确保使用叉炸弹或运行有问题的应用程序不会使用户瘫痪? 作业系统:RHEL 6.4

1
修复ulimit:打开文件:无法修改限制:不允许操作
我在不同的GNU / Linux安装上对此进行了测试: perl -e 'while(1){open($a{$b++}, "<" ,"/dev/null") or die $b;print " $b"}' 系统A和D 我遇到的第一个限制是1024。可以通过将其放入/etc/security/limits.conf来轻松提高它: * hard nofile 1048576 然后运行: ulimit -n 1048576 echo 99999999 | sudo tee /proc/sys/fs/file-max 现在测试进行到1048576。 但是,看来我无法将其提高到1048576以上。如果我将1048577放入limits.conf中,将被忽略。 是什么原因造成的? 系统B 在系统BI上甚至无法达到1048576: echo 99999999 | sudo tee /proc/sys/fs/file-max /etc/security/limits.conf: * hard nofile 1048576 在这里我得到: $ ulimit -n 65537 …

5
无法ssh,连接会立即以退出状态254终止
我记得最近的事情是将软性和硬性memlock ulimit更改为unlimited。现在,我无法进入机器。 这是ssh日志。 Authenticated to IP ([IP]:22). debug1: channel 0: new [client-session] debug2: channel 0: send open debug1: Requesting no-more-sessions@openssh.com debug1: Entering interactive session. debug2: callback start debug2: fd 3 setting TCP_NODELAY debug2: client_session2_setup: id 0 debug2: channel 0: request pty-req confirm 1 debug1: Sending environment. debug1: Sending env LC_CTYPE …
12 shell  ssh  ulimit 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.