Ubuntu 18.04循序渐进
希望所有这些都对您有所帮助,但是很有效(有证据)
在Ubuntu 18.04上安装MongoDb时遇到了这个线程
https://posidev.com/blog/2009/06/04/set-ulimit-parameters-on-ubuntu/
如您所见,它已经很老了,但是对我有用。
这是我所做的。
MongoDb推荐设置(https://docs.mongodb.com/manual/reference/ulimit/#review-and-set-resource-limits)
- -f(文件大小):无限制
- -t(CPU时间):无限制
- -v(虚拟内存):无限制[1]
- -l(锁定在内存中的大小):无限制
- -n(打开的文件):64000
- -m(内存大小):无限制[1] [2]
- -u(进程/线程):64000
检查我当前的限制
ubuntu @ isdb-stage:〜$ ulimit -a
核心文件大小(块,-c)0
数据段大小(千字节,-d)无限制
调度优先级(-e)0
文件大小(块,-f)无限
待处理信号(-i)7873
最大锁定内存(千字节,-l)16384
最大内存大小(千字节,-m)无限制
打开文件(-n)1024
管道大小(512字节,-p)8
POSIX消息队列(字节,-q)819200
实时优先级(-r)0
堆栈大小(KB,-s)8192
cpu时间(秒,-t)无限制
最大用户进程(-u)7873
虚拟内存(千字节,-v)无限
文件锁(-x)无限
记下需要更改的内容
- 锁定在内存中的大小,需要设置为无限制。
- 打开文件,需要设置为64000
- 进程/线程*,需要设置为64000
对于如何更改这些限制,ubuntu怎么说?
$ manlimits.conf
名称
limits.conf-pam_limits模块的配置文件
描述
pam_limits.so模块将ulimit限制,良好的优先级和同时登录会话数限制应用于用户登录会话。此配置文件语法说明适用于
/etc/security/limits.conf文件和* .conf文件
/etc/security/limits.d目录。
- 似乎已经足够清楚了,编辑/etc/security/limits.conf文件。好吧,让我们找出答案...。
这是该文件的开始,当然它甚至包含说明,请记住,这是好人写的开源代码!:)
vi /etc/security/limits.conf
#/etc/security/limits.conf
#每行以以下形式描述对用户的限制:
#
#哪里:
# 可:
#-用户名
(如果需要更多详细信息,请自己查看文件)
- 最后进行更改。由于MongoDb以mongodb组和用户身份运行,因此最好提高用户限制。我已经在此处看到“ *”,这对我来说是安全隐患。它为服务器上的所有杂物提供了这些限制,这些限制可用于最大程度地发挥服务器的性能。因此,让它们仅适用于mongodb用户。
这是我的更改:-
mongodb软内存锁无限
mongodb硬memlock无限
mongodb软nofile 64000
mongodb硬nofile 64000
mongodb软nproc 64000
mongodb硬nproc 64000
最后,最后,请记住在人limits.conf条目中。
limits.conf-pam_limits模块的配置文件
最好确保已加载pam_limits模块,以便所有这些限制条件起作用。为此,您可以编辑/etc/pam.d/common-session。当然,这也在手册页中。
须藤vi /etc/pam.d/common-session
#添加此内容以确保已加载pam_limits.so。
所需的会话pam_limits.so
重新启动将显示已应用限制(对于用户mongodb)。如果您改用'*'来应用它们,则可以检查而不必切换到mongodb用户。只需执行此命令。
$ ulimit -a
核心文件大小(块,-c)0
数据段大小(千字节,-d)无限制
调度优先级(-e)0
文件大小(块,-f)无限
待处理信号(-i)7873
最大锁定内存(千字节,-l)无限制
最大内存大小(千字节,-m)无限制
打开文件(-n)64000
管道大小(512字节,-p)8
POSIX消息队列(字节,-q)819200
实时优先级(-r)0
堆栈大小(KB,-s)8192
cpu时间(秒,-t)无限制
最大用户进程(-u)64000
虚拟内存(千字节,-v)无限
文件锁(-x)无限
如您所见,轻松愉快地将所有设置为我们想要的极限。