linux下limit知识

linux下limit知识,第1张

一般新机器,在非root用户下部署java项目之前,一定需要新调整下机器的参数,这里与我们的java进程息息相关的就是 /etc/ecurity/limits 这里的配置。

/etc/ecurity/limits 限制住了系统用户下所有的文件句柄数,线程数,cpu时间片等等。我们这里只需要关注文件 句柄数和线程数

可以查看系统的资源限制,如下:

上面的 open files (-n) 65536 和 max user processes (-u) 4096 是我们重点关注的。它限制了文件最大句柄数和线程数。

编辑 /etc/security/limits.conf , 修改如下配置:

注意 :还需要修改一个地方,否则我们进程的最大限制会被重置掉,笔者之前在这个地方踩了不少坑。需要编辑 /etc/security/limits.d/ 下的文件。

这个 * 会有一个软线程的最大限制为 4096,会覆盖 /etc/security/limits.conf 里的配置。一般程序启动的线程都是属于 soft nproc 。

网上的说法是修改了 limit 后,重启linux系统才会奏效。事实上不是这样,修改了之后,新启动的进程会使用新的limit限制参数,而之前起的进程还是会使用老的配置,所以只需要重启进程即可。

可以评估一个应用的指标情况,可以看他的句柄数、线程数等等, 在 /proc/{pid}/fd/ 可以查看进程所有打开的文件,socket连接也是一个文件,当存在很多socket没有释放的话,说明open 文件没有关闭或者释放。

一般情况下, ulimit -n 的数值是1024.

当进程打开的文件数目超过此限制时,该进程就会退出。

因此,有时需要修改此限制。linux调优之修改最大连接数(ulimit命令)

如果只是普通用户,只是暂时的修改ulimit -n,可以直接shell命令来修改(ulimit -n 1024000)。

但是这个设置时暂时的保留!当我们退出bash后,该值恢复原值。

如果要永久修改ulimit,需要修改/etc/security/limits.conf。limits.conf配置(ulimit设置永久生效)

vim /etc/security/limits.conf

# 添加如下的行

* soft nofile 4100

* hard nofile 4100

以下是说明:

* 代表针对所有用户

noproc 是代表最大进程数

nofile 是代表最大文件打开数

添加格式:

username|@groupname type resource limit

username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。

type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比har 限制高。用 - 就表明同时设置了 soft 和 hard 的值。

resource:

core - 限制内核文件的大小(kb)

date - 最大数据大小(kb)

fsize - 最大文件大小(kb)

memlock - 最大锁定内存地址空间(kb)

nofile - 打开文件的最大数目

rss - 最大持久设置大小(kb)

stack - 最大栈大小(kb)

cpu - 以分钟为单位的最多 CPU 时间

noproc - 进程的最大数目

as - 地址空间限制

maxlogins - 此用户允许登录的最大数目

永久生效方法。

修改etc/securitylimits,conf文件在文件末尾添加如下内容,然后重启服务器或重新登录即可生效。重启后用查看命令进行查看,如果显示数字等于204800即证明修改成功。

屏幕排线问题,因为意外摔落或者外力挤压。黑屏就是说什么也看不见,但是要是对着强光又可以隐隐约约看见,这样的一般都是黑屏。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7513899.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存