linux – 在CentOS 7上为systemd启动的进程增加nproc

前端之家收集整理的这篇文章主要介绍了linux – 在CentOS 7上为systemd启动的进程增加nproc前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经成功地为本地用户增加了nofile和nproc值,但是我找不到systemd启动的进程的正确解决方案.将max_open_files添加到MariaDB配置没有帮助. su – mysql手动更改限制也不起作用(此帐户目前不可用).

在/etc/security/limits.conf

  1. * soft nofile 102400
  2. * hard nofile 102400
  3. * soft nproc 10240
  4. * hard nproc 10240

/etc/security/limits.d/20-nproc.conf(目录中没有其他文件)

  1. * soft nofile 102400
  2. * hard nofile 102400
  3. * soft nproc 10240
  4. * hard nproc 10240

/etc/sysctl.conf中

  1. fs.file-max = 2097152

将/etc/pam.d/system-auth

  1. #%PAM-1.0
  2. # This file is auto-generated.
  3. # User changes will be destroyed the next time authconfig is run.
  4. auth required pam_env.so
  5. auth sufficient pam_unix.so nullok try_first_pass
  6. auth requisite pam_succeed_if.so uid >= 1000 quiet_success
  7. auth required pam_deny.so
  8.  
  9. account required pam_unix.so
  10. account sufficient pam_localuser.so
  11. account sufficient pam_succeed_if.so uid < 1000 quiet
  12. account required pam_permit.so
  13.  
  14. password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
  15. password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
  16. password required pam_deny.so
  17.  
  18. session optional pam_keyinit.so revoke
  19. session required pam_limits.so
  20. -session optional pam_systemd.so
  21. session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
  22. session required pam_unix.so

/etc/pam.d/systemd-user

  1. #%PAM-1.0
  2.  
  3. # Used by systemd when launching systemd user instances.
  4.  
  5. account include system-auth
  6. session include system-auth
  7. auth required pam_deny.so
  8. password required pam_deny.so

/var/log/mariadb/mariadb.log

  1. [Warning] Changed limits: max_open_files: 1024 max_connections: 32 table_cache: 491

的/ proc / MysqL_pid /限制

  1. Limit Soft Limit Hard Limit Units
  2. Max cpu time unlimited unlimited seconds
  3. Max file size unlimited unlimited bytes
  4. Max data size unlimited unlimited bytes
  5. Max stack size 8388608 unlimited bytes
  6. Max core file size 0 unlimited bytes
  7. Max resident set unlimited unlimited bytes
  8. Max processes 30216 30216 processes
  9. Max open files 1024 4096 files
  10. Max locked memory 65536 65536 bytes
  11. Max address space unlimited unlimited bytes
  12. Max file locks unlimited unlimited locks
  13. Max pending signals 30216 30216 signals
  14. Max msgqueue size 819200 819200 bytes
  15. Max nice priority 0 0
  16. Max realtime priority 0 0
  17. Max realtime timeout unlimited unlimited us

有趣的是,不同的进程(用户)具有不同的Max打开文件号:

  1. MysqL - 1024 4096
  2. apache - 1024 4096
  3. postfix - 4096 4096

解决方法

systemd完全忽略/ etc / security / limits *.如果您使用的是在更新时自动压缩其systemd服务文件的RPM,您需要提交PR以要求他们将这些文件标记为“noreplace”

您需要更新.service文件/usr/lib/systemd/system/\u0026lt;servicename\u0026gt;.service

  1. [Unit]
  2. Description=Some Daemon
  3. After=syslog.target network.target
  4.  
  5. [Service]
  6. Type=notify
  7. LimitNOFILE=49152
  8. ExecStart=/usr/sbin/somedaemon
  9.  
  10. [Install]
  11. WantedBy=multi-user.target

sickill指出你也可以通过将它们添加到/etc/systemd/system/\u0026lt;servicename\u0026gt;.d/override.conf来覆盖包安装的值(在上面的文件中找到).

  1. [Service]
  2. LimitNOFILE=49152

这为系统特定的设置提供了额外的好处,这些设置在包更新时没有被覆盖的危险.

然后发出命令:systemctl daemon-reload

猜你在找的Linux相关文章