Questions tagged «ulimit»

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

1
'ulimit -m'在现代Linux上不起作用吗?
本文声称该-m标志ulimit在现代Linux中不起作用。我没有其他证据可以证实这一说法。准确吗? 您可以尝试通过设置最大常驻集大小(ulimit -m)来限制进程的内存使用量。这对Linux没有影响。man setrlimit表示它过去仅在古代版本中有效。您应该限制虚拟内存的最大数量(ulimit -v)。 如果确实可以在旧版本的Linux中运行,那么哪个版本停止支持此功能?

2
/etc/security/limits.conf不适用
我有/etc/security/limits.conf,似乎没有被应用: a soft nofile 1048576 # default: 1024 a hard nofile 2097152 a soft noproc 262144 # default 128039 a hard noproc 524288 a我的用户名在哪里,当我运行ulimit -Hn和时ulimit -Sn,它显示: 4096 1024 内容中只有一个其他文件/etc/security/limits.d: scylla - core unlimited scylla - memlock unlimited scylla - nofile 200000 scylla - as unlimited scylla - nproc 8096 我还尝试将这些值附加到/etc/security/limits.conf然后重新启动,然后执行以下操作: …
11 limit  ulimit 

2
如何优雅地解决此内存问题?
我有一台带有交换分区的标准Linux(Debian测试)笔记本电脑。 我做了很多实验。其中一些确实非常消耗内存,Linux默认情况下的行为方式对我来说是个问题...让我们举一个愚蠢的例子: 坐在笔记本电脑前 打开一个终端 类型python,然后a = [0]*100000000 现在很有可能您没有足够的RAM来处理这个大列表。Linux将先填充RAM,然后进行交换,几分钟后,OOM杀手将被触发并杀死(几乎)随机服务,如果希望您在适当的时候按Ctrl + C python,并且如果终端仍然有重点,计算机将再次变得敏感。 我想强制执行一些内存限制,以避免不必要的交换,并拒绝给进程分配比我(在RAM中)更多的内存的权利。如果内存需求低于某个限制或由root要求,则只需杀死除root以外的任何用户最耗费内存的进程。 ulimit -Sv [mem] 我在后面听到! 呵呵!“ cgroups通过使用cgexec!” 有人在第一行说! 是的,您是对的:这些确实是非常好的解决方案。但: 它们不适用于整个系统 限制是按过程设置的 限制是静态的,不考虑可用RAM(AFAIK)的实际数量 这里和那里,他们说这些是不是真的很好地解决执行难的限制。 我想要的是内核说:“您属于用户foo(不是root),您使用了大量内存,而我们将用光内存。抱歉,老兄……现在就死了!” 或者:“您到底在干什么?您需要x MB,只有y MB可用。是的,SWAP是空的,但是您不打算使用SWAP来完成您的工作,是吗?不,我说不!你没有记忆!如果你坚持下去,你会死的!
10 memory  limit  cgroups  ulimit 

1
对单个服务器启用大规模并发SSH
我的目标是允许在单个服务器上运行10000个并发ssh。 为简单起见,我将ssh-sing到localhost: for i in `seq 1 10000`; do ssh localhost "echo ${i}; sleep 100" >>./info 2>>./log & done sleep 100是为了确保第10000个ssh启动时,第一个ssh仍处于连接状态,因此确实存在10000个并发 ssh。 这是我收到的两种错误消息: 1. ssh_exchange_identification: Connection closed by remote host 2. ssh_exchange_identification: read: Connection reset by peer 我做了以下修改: 在/etc/security/limits.conf和中/etc/security/limits.d/90-nproc.conf,将soft&hard nofile和设置nproc为65535(这是可能的最大值吗?-更新:否。最大值是1048576) 在中/etc/sysctl.conf,设置kernel.pty.max = 65535 在/etc/ssh/sshd_config,设置MaxStartups 10000。 这些修改使我可以在单个服务器上成功运行1000个并发ssh,但是它们不适用于2000及更高版本的ssh。 有人建议更改的值MaxSessions(实际上我不清楚它的用法:多路复用如何影响我的情况?)/proc/sys/net/core/netdev_max_backlog和/proc/sys/net/core/somaxconn,但它们似乎没有什么区别。 此外,如果它们是到不同服务器的10000个并发ssh,则没有错误(仅当ssh到单个服务器时才出现问题): for i …
9 ssh  sshd  ulimit 

2
什么是待处理信号?
在查看运行过程的限制时,我看到 Max pending signals 15725 这是什么? 如何确定繁忙服务的合理价值? 通常,我似乎找不到找到说明每个限制是什么的页面。有些是不言自明的(最大打开文件数),有些则很少(最大msgqueue大小)。



2
如何在Debian中规避“打开文件太多”
如果我想一次查看apache2服务器的所有相关日志文件,请使用 tail -f /var/kunden/logs/*log /var/kunden/logs/*log /var/log/apache2/*log |grep -v robots|grep -v favicon 但是由于这些文件现在太多了,所以我想增加该限制。 如何在一个ssh会话中增加它?以及如何在全球范围内将其增加? 我可以看到我的机器上打开的文件限制为1024: ulimit -n 1024
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.