在 CentOS 系统中,可以通过 ulimit
命令来调整用户进程的资源限制,包括内存限制。以下是一些常用的方法:
查看当前资源限制:
ulimit -a
设置软限制和硬限制:
例如,将虚拟内存(virtual memory)的软限制设置为 4GB,硬限制设置为 8GB:
ulimit -v 4194304 # 4GB in kilobytes
ulimit -V 8388608 # 8GB in kilobytes
将最大文件大小(file size)的软限制设置为 2GB,硬限制设置为 4GB:
ulimit -f 2147483648 # 2GB in bytes
ulimit -F 4294967296 # 4GB in bytes
要永久调整资源限制,需要修改系统配置文件。
编辑 /etc/security/limits.conf
文件:
打开文件并添加或修改以下行:
* soft memlock unlimited
* hard memlock unlimited
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
这些设置将所有用户的软硬限制调整为无限制和 65536 个文件描述符。
编辑 /etc/pam.d/common-session
和 /etc/pam.d/common-session-noninteractive
文件:
确保包含以下行以应用 limits.conf
的设置:
session required pam_limits.so
重启系统: 修改配置文件后,需要重启系统以使更改生效。
sysctl
调整内核参数某些内存相关的限制也可以通过 sysctl
命令来调整。
查看当前内核参数:
sysctl -a | grep vm
设置内核参数: 例如,增加系统的虚拟内存大小:
sysctl -w vm.max_map_count=262144
将这个设置永久化,编辑 /etc/sysctl.conf
文件并添加:
vm.max_map_count=262144
应用新的内核参数:
sysctl -p
通过以上方法,你可以根据需要调整 CentOS 系统中的内存限制。请注意,某些设置可能需要管理员权限才能修改。