ulimit命令以及修改进程limits的方法【转载】

ulimit命令
功能说明:控制外壳程序的资源,ulimit是shell内建指令,可用于控制shell执行程序的资源。
参数:
-a 显示当前资源限制的设置
-C 设定芯文件的最大值,单位为块
-d 程序数据节区的最大值,单位为块
-f 壳所能建立的最大文件,单位区为
-H 设定资源的硬件限制,也就是管理员所设下的限制
-m 指定可使用内存的上限,单位为KB
-p 指定管道缓冲区的大小,单位为512字节
-s 指定堆叠的上限,单位为秒
-S 设定资源的弹性限制
-t 指定CPU使用时间上限,单位为秒
-u 用户最多可以开启的程序数目
-v 指定可以使用的虚拟内存上限

使用命令修改系统limits是临时的,不会永久生效。
修改/etc/sysctl.conf

[root@web02 test]# cat /etc/sysctl.conf 
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
[root@strong ~]# cat /etc/sysctl.conf
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 4294967295  `最大共享内存段大小。`
kernel.shmall = 268435456   可以使用的共享内存的总量。
kernel.shmmni = 4096       整个系统共享内存段的`最大数目`。
kernel.sem = 250 32000 100 128   每个信号对象集的最大信号对象数;系统范围内最大信号对象数;每个信号对象支持的最大操作数;系统范围内最大信号对象集数。
fs.file-max = 6815744    系统中所允许的文件句柄最大数目。net.ipv4.ip_local_port_range = 9000 65500  应用程序可使用的IPv4端口范围。

net.core.rmem_default = 262144    套接字接收缓冲区大小的缺省值
net.core.wmem_default = 262144   套接字发送缓冲区大小的缺省值
net.core.rmem_max = 4194304      套接字接收缓冲区大小的最大值
net.core.wmem_max = 1048576     套接字发送缓冲区大小的最大值
fs.aio-max-nr = 1048576     文件系统最大异步io

—各个参数解释
(1)shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于Oracle来说,该缺省值太低了,通常将其设置为2G
(2)shmmni:这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改。
(3)shmall:该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改。
(4)sem:该参数表示设置的信号量。
(5)file-max:该参数表示文件句柄的最大数量。文件句柄设置表示在Linux系统中可以打开的文件数量。

修改好内核以后,执行下面的命令使新的配置生效。
kernel.shmmax:表示单个共享内存段的最大值,以字节为单位,此值一般为物理内存的一半,不过大一点也没关系,这里设定的为4GB,即"4294967295/1024/1024/1024=4G"。
  kernel.shmmni:表示单个共享内存段的最小值,一般为4kB,即4096bit.
  kernel.shmall:表示可用共享内存的总量,单位是页,在32位系统上一页等于4kB,也就是4096字节。
  fs.file-max:表示文件句柄的最大数量。文件句柄表示在linux系统中可以打开的文件数量。
  ip_local_port_range:表示端口的范围,为指定的内容。
  kernel.sem:表示设置的信号量,这4个参数内容大小固定。
  net.core.rmem_default:表示接收套接字缓冲区大小的缺省值(以字节为单位)。
  net.core.rmem_max :表示接收套接字缓冲区大小的最大值(以字节为单位)
  net.core.wmem_default:表示发送套接字缓冲区大小的缺省值(以字节为单位)。
  net.core.wmem_max:表示发送套接字缓冲区大小的最大值(以字节为单位)。

原文链接:https://blog.csdn.net/oracle_zsq/article/details/80558646

发布了170 篇原创文章 · 获赞 15 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_42506599/article/details/104346612