CentOS6 限制用户使用资源的配置是在 /etc/security/limits.conf , 修改这个文件就可以解决问题
CentOS7中 /etc/security/limits.conf 文件的配置作用域缩小了一些。limits.conf这里的配置,只适用于通过PAM认证登录用户的资源限制,它对systemd的service的资源限制不生效.
systemd service相关文件在 /etc/systemd/system.conf 和 /etc/systemd/user.conf。 同时,也会加载两个对应的目录中的所有.conf文件
以下是: /etc/systemd/system.conf 的内容
[Manager]
#LogLevel=info
#LogTarget=journal-or-kmsg
#LogColor=yes
#LogLocation=no
#DumpCore=yes
#CrashShell=no
#ShowStatus=yes
#CrashChVT=1
#CtrlAltDelBurstAction=reboot-force
#CPUAffinity=1 2
#JoinControllers=cpu,cpuacct net_cls,net_prio
#RuntimeWatchdogSec=0
#ShutdownWatchdogSec=10min
#CapabilityBoundingSet=
#SystemCallArchitectures=
#TimerSlackNSec=
#DefaultTimerAccuracySec=1min
#DefaultStandardOutput=journal
#DefaultStandardError=inherit
#DefaultTimeoutStartSec=90s
#DefaultTimeoutStopSec=90s
#DefaultRestartSec=100ms
#DefaultStartLimitInterval=10s
#DefaultStartLimitBurst=5
#DefaultEnvironment=
#DefaultCPUAccounting=no
#DefaultBlockIOAccounting=no
#DefaultMemoryAccounting=no
#DefaultTasksAccounting=no
#DefaultTasksMax=
#DefaultLimitCPU=
#DefaultLimitFSIZE=
#DefaultLimitDATA=
#DefaultLimitSTACK=
#DefaultLimitCORE=
#DefaultLimitRSS=
#DefaultLimitNOFILE=
#DefaultLimitAS=
#DefaultLimitNPROC=
#DefaultLimitMEMLOCK=
#DefaultLimitLOCKS=
#DefaultLimitSIGPENDING=
#DefaultLimitMSGQUEUE=
#DefaultLimitNICE=
#DefaultLimitRTPRIO=
#DefaultLimitRTTIME=
1.修改这个system.conf, 全局生效,
2.在service文件里限制,只对此服务生效, (就是system.conf项去掉Default ,例如打开的最大文件数量为:LimitNOFILE , 不清楚是否还有soft和hard只说 )
[Unit]
Description=ES
After=network.service
[Service]
Type=forking
PIDFile=/tmp/es.pid
ExecStart=/usr/local/es/bin/elasticsearch -d -p /tmp/es.pid
ExecStart=kill -HUP $MAINPID
ExecStop=kill -9 $MAINPID
User=es
Group=es
LimitNOFILE=100000
LimitNPROC=100000
[Install]
WantedBy=multi-user.target
来源:CSDN
作者:sunaer
链接:https://blog.csdn.net/sunaer/article/details/103937642