Articles of ulimit

输出为“硬”或“软”时的ulimit值

有人可以向我解释当ulimit命令的输出是“硬”还是“软”时,如何确定ulimit的实际值。 这是在AIX机器上。 例如: # ulimit -f hard 而在另一台机器上: $ ulimit -m soft 由于我没有在这台机器上的root权限,我怎么知道这个限制的确切值是什么?

pam_limits是如何决定默认限制的?

在使用pam_limits模块但在/etc/security/limits.conf(或/etc/security/limits.d/*)中没有任何configuration的linux系统中,pam_limits如何决定实现哪些限制?

最大打开文件(FreeBSD 7.0上的MySQL 5.0)

我得到“无法打开文件:”./databasename/tablename.frm“(errno:24)”从MySQL的错误,但据我所知,我已经设置了必要的限制远高于我需要的。 除了kern.maxfiles和kern.maxfilesperproc sysctl和open_files_limit MySQLvariables之外,还有其他的限制会被踢进去吗? $ mysql -u root -p -e 'SHOW STATUS' | grep '^Open' Enter password: Open_files 356 Open_streams 0 Open_tables 245 Opened_tables 0 $ mysql -u root -p -e 'SHOW GLOBAL VARIABLES' | grep 'open_files_limit' Enter password: open_files_limit 18000 $ sysctl -a | grep kern.maxfiles kern.maxfiles: 20000 kern.maxfilesperproc: 18000 $ limits -n -U […]

MySQL打开文件限制

这个问题类似于设置open_files_limit ,但没有好的答案。 我需要增加我的table_open_cache ,但首先我需要增加open_files_limit 。 我在/etc/mysql/my.cnf设置了这个选项: open-files-limit = 8192 这在我以前的安装(Ubuntu 8.04)中运行良好,但是现在在Ubuntu 10.04中,当我启动服务器时, open_files_limit被报告为1710.这看起来像是一个非常随机的数字,以限制被限制。 无论如何,我尝试通过在/etc/security/limits.conf添加这样一行: mysql hard nofile 8192 我也尝试在mysql的upstartconfiguration文件( /etc/init/mysql.conf )中将其添加到预启动脚本中: ulimit -n 8192 显然,这些事情都没有奏效。 那么在Ubuntu 8.04和10.04之间添加的hoop是如何增加开放文件的限制呢?

Stunnel,limits.conf

在看过很多客户的精彩build议并接受了Stunnel的答复之后,我发现这看起来像是我们的问题,但我在应用这个解决scheme时遇到了麻烦。 首先,ulimit是一个shell的东西,影响从shell(从我的理解)产生的进程。 因此,我正在检查/etc/security/limits.conf并添加以下行: # stunnel resets 2011-03-03 kdh * hard nofile 65536 并发出一个/etc/init.d/stunnel4重新启动,但我仍然看到了可怕的太多的连接消息: [admin@p2378442 ~]$ sudo tail -f /var/log/stunnel.log |grep "too many" 2011.03.03 13:43:07 LOG4[8461:3086272208]: Connection rejected: too many clients >=500) 2011.03.03 13:43:08 LOG4[8461:3086272208]: Connection rejected: too many clients >=500) 2011.03.03 13:43:08 LOG4[8461:3086272208]: Connection rejected: too many clients >=500) 我是否正确应用了新的打开的文件限制? 我需要重新启动吗?

处理漂亮值

我只是在寻求一个关于一个过程的好处价值的澄清,或者如果我对这个错误有所了解的话,可能还有一些build议。 假设我在一台机器上有几十个Web服务器进程,而且我担心它们中的任何一个出现并占用了系统的所有资源。 马上就会好起来 – 我会给他们所有积极的善意价值,所以他们会使用任何资源,如果他们可用,但放弃,如果有需求他们。 这会按我的预期执行吗? 或者,如果他们都有相同的善意价值,那么他们基本上都是一样的,他们都是0? 基本上我想知道内核如何决定哪些进程应该优先考虑,如果它们都具有相同的优先级值并且都需要资源? 由于只有39个可能的漂亮程度(-20到+19 iirc),所以如果它以这种方式工作,我不能给每个服务器不同的值。 任何关于这个澄清将不胜感激。 我遇到过的其他一些解决scheme可以防止盗版: cpulimit工具(对我来说segfaults) ulimit – 每个用户的基础上,听起来很理想,因为每个服务器都有自己的用户,虽然它只提供cputime作为cpu资源使用的度量。 我很好奇,如果这意味着经过的时间或每秒的CPU时间的百分比或其他东西。 过程控制组 – 从谷歌结果的一些初步浏览,这看起来像一个更复杂的解决scheme,但它可能不得不这样做。

增加打开文件描述符的最大数量的后果是什么?

Ubuntu似乎有1024个打开的文件描述符的默认限制。 Nginx正在抱怨一些负载testing,我正在做的最大数量已经达到和服务器基本上是无法使用的。 我正在testing一个服务,将不得不维持每秒2-3K的请求,并且每个请求将被保存到一个文件(或潜在的另一个存储如mysql等)。这些文件将在服务器x分钟内被清除。 如果我运行ulimit -n并增加打开的文件描述符的数量,这会产生什么影响? 它是否使得o / s留出更多的内存来pipe理文件描述符,还是有更多的内存?

Linux 5上的Oracle 11g中的ulimit设置

(Oracle推荐65536)时,“Ulimit -Hn”是否设置得太低(在1024)? 这适用于Linux 5上的Oracle 64位11g。 这是其中一个设置,似乎是远远不及其build议。 但是我也知道有问题的数据库服务器是Oracle Data Guard本地备用数据库,应该只有一个或两个来自其主数据库服务器(用于传送重做日志)。 本地备用数据库服务器在多个月内“挂起”了大约3次,然后需要重新启动。 我没有访问这个服务器,所以要依靠别人去查看日志等等。内核参数的健全性检查揭示了“ulimit -Hn”的低值。 有没有人看到“低”价值导致挂起或崩溃?

强制用户在使用某些内存之后使用交换空间(使用limits.conf?)

我有一个后端应用程序正在我们的服务器上托pipe的开发人员内部使用,但是,不幸的是,该应用程序需要使用Passenger和Ruby,而这两者都非常需要内存。 我有一个SSD交换文件,应该允许我们的使用合理的性能,我想强制这个应用程序使用交换空间,并留下内存打开我们的前置应用程序。 所以问题是,有没有办法强制一个进程/用户(这个进程在特定的用户下运行)尽可能地使用交换空间? 我认为limits.conf可能是有能力的,但我不希望它给内存错误,只需切换到交换文件。

如何增加Linux上的打开文件限制?

我正在使用CentOS 7.我发现使用$ ulimit -a (查找打开的文件)可以看到当前值。 或者只是$ ulimit -n 然后我尝试通过编辑文件来编辑这些限制 $ vim /etc/security/limits.conf 并添加这两行: soft nofile 999999 hard nofile 999999 快速重启之后,检查是否发生了一些事情 $ ulimit -n 它仍然是一样的,我得到1024作为输出。 如何改变这个值并使其在重新启动后保持不变?