ããã¯ããªã«ãããããŠæžãããã®ïŒ
Linuxã«ããããªãœãŒã¹å¶åŸ¡ãšããã°ãulimitã§ãã
limits.conf(5) - Linux manual page
/etc/security/limits.confãã¡ã€ã«ã/etc/security/limits.dãã£ã¬ã¯ããªå
ã«[ä»»æã®åå].confãã¡ã€ã«ãäœæããŠ
nofileãªã©ã®å€ãèšå®ããã°OKã§ãã
ã§ãããsystemdå¶åŸ¡äžã§åäœããããã»ã¹ã¯ãã®äºæ
ãéããŸããåã
ãããªããšãªãç¥ã£ãŠã¯ããŸãããã
èªåã§èšå®ããããšããªãã£ãã®ã§è©ŠããŠããããšã«ããŸããã
ç°å¢
ä»åã®ç°å¢ã¯ããã¡ããUbuntu Linux 20.04 LTSã§ãã
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focal $ uname -srvmpio Linux 5.4.0-91-generic #102-Ubuntu SMP Fri Nov 5 16:31:28 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
ãŸãããªãœãŒã¹å¶åŸ¡ãè¡ã察象ã®ãµãŒãã¹ãšããŠãnginxã䜿ãããšã«ããŸãã
$ sudo apt install nginx
ããŒãžã§ã³ã
$ nginx -v nginx version: nginx/1.18.0 (Ubuntu)
ã€ã³ã¹ããŒã«ããæç¹ã§ãnginxã¯rootãŠãŒã¶ãŒã§èµ·åããŠããŸãã
$ ps -ef | grep nginx | grep -v grep root 3976 1 0 14:32 ? 00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; www-data 3977 3976 0 14:32 ? 00:00:00 nginx: worker process www-data 3978 3976 0 14:32 ? 00:00:00 nginx: worker process
ãã®æã®/proc/[PID]/limitsãèŠããšãMax open filesã®soft limitã1024ã«ãªã£ãŠããã®ã§ããã¡ãã倿ŽããŠã¿ãŸãããã
$ cat /proc/$(cat /run/nginx.pid)/limits Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 8388608 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 7596 7596 processes Max open files 1024 524288 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 7596 7596 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us
/etc/security/limitsããå¹ããªãããšã確èªãã
ãŸãã¯/etc/security/limitsããå¹ããªãããšã確èªããŠã¿ãŸãã
rootãŠãŒã¶ãŒã«ã¹ã€ããããŠãçŸåšã®å€ã確èªã
$ sudo su - # ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 7596 max locked memory (kbytes, -l) 65536 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 7596 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
ãã¡ã€ã«ã®æžãæ¹ã¯ã/etc/security/limits.confãã¡ã€ã«ã«æžãããŠããã®ã§
/etc/security/limits.conf
# /etc/security/limits.conf # #Each line describes a limit for a user in the form: # #<domain> <type> <item> <value> # #Where: #<domain> can be: # - a user name # - a group name, with @group syntax # - the wildcard *, for default entry # - the wildcard %, can be also used with %group syntax, # for maxlogin limit # - NOTE: group and wildcard limits are not applied to root. # To apply a limit to the root user, <domain> must be # the literal username root. # #<type> can have the two values: # - "soft" for enforcing the soft limits # - "hard" for enforcing hard limits # #<item> can be one of the following: # - core - limits the core file size (KB) # - data - max data size (KB) # - fsize - maximum filesize (KB) # - memlock - max locked-in-memory address space (KB) # - nofile - max number of open file descriptors # - rss - max resident set size (KB) # - stack - max stack size (KB) # - cpu - max CPU time (MIN) # - nproc - max number of processes # - as - address space limit (KB) # - maxlogins - max number of logins for this user # - maxsyslogins - max number of logins on the system # - priority - the priority to run user process with # - locks - max number of file locks the user can hold # - sigpending - max number of pending signals # - msgqueue - max memory used by POSIX message queues (bytes) # - nice - max nice priority allowed to raise to values: [-20, 19] # - rtprio - max realtime priority # - chroot - change root to directory (Debian-specific) # #<domain> <type> <item> <value> # #* soft core 0 #root hard core 100000 #* hard rss 10000 #@student hard nproc 20 #@faculty soft nproc 20 #@faculty hard nproc 50 #ftp hard nproc 0 #ftp - chroot /ftp #@student - maxlogins 4 # End of file
ãããªãã¡ã€ã«ãäœæã
/etc/security/limits.d/root.limits.conf
root - nofile 10240
1床ã·ã§ã«ãæããŠãå床rootã«ã¹ã€ããããŠç¢ºèªã
$ sudo su - # ulimit -n 10240 # ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 7596 max locked memory (kbytes, -l) 65536 max memory size (kbytes, -m) unlimited open files (-n) 10240 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 7596 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
open filesã®å€ãå¢ããŠããããšã確èªã§ããŸãã
ãã®ãããã¯ãPAMã®ç¯å²ã§ãã
$ grep -r limit /etc/pam.d /etc/pam.d/runuser:session required pam_limits.so /etc/pam.d/systemd-user:session required pam_limits.so /etc/pam.d/sshd:# access limits that are hard to express in sshd_config. /etc/pam.d/sshd:# Set up user limits from /etc/security/limits.conf. /etc/pam.d/sshd:session required pam_limits.so /etc/pam.d/atd:session required pam_limits.so /etc/pam.d/login:# set access limits. /etc/pam.d/login:# Sets up user limits according to /etc/security/limits.conf /etc/pam.d/login:# (Replaces the use of /etc/limits in old login) /etc/pam.d/login:session required pam_limits.so /etc/pam.d/su:# Sets up user limits according to /etc/security/limits.conf /etc/pam.d/su:# (Replaces the use of /etc/limits in old login) /etc/pam.d/su:session required pam_limits.so /etc/pam.d/cron:# Sets up user limits, please define limits for cron tasks /etc/pam.d/cron:# through /etc/security/limits.conf /etc/pam.d/cron:session required pam_limits.so
ãªã®ã§ãããnginxãåèµ·åããŠã
$ sudo systemctl restart nginx
ãã¡ãã®Max open filesã®å€ã¯å€ãããŸããã
$ cat /proc/$(cat /run/nginx.pid)/limits Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 8388608 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 7596 7596 processes Max open files 1024 524288 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 7596 7596 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us
ãã¡ãã¯äºæ ãç°ãªããŸãããšã
ä»åã¯ãããã倿Žã§ããããã«ããããšãç®çã§ãã
systemdã®ããã¥ã¡ã³ããèªã
systemdã®ãŠãããã®ãªãœãŒã¹å¶åŸ¡ã¯ããŠãããå®çŸ©ãã¡ã€ã«ã§è¡ããŸãã
ãã¡ããèŠããšãããã»ã¹ã®ãªãœãŒã¹å¶åŸ¡ã«ã€ããŠæžãããŠããŸãã
PROCESS PROPERTIES
LimitCPU=, LimitFSIZE=, LimitDATA=, LimitSTACK=, LimitCORE=, LimitRSS=, LimitNOFILE=, LimitAS=, LimitNPROC=, LimitMEMLOCK=, LimitLOCKS=, LimitSIGPENDING=, LimitMSGQUEUE=, LimitNICE=, LimitRTPRIO=, LimitRTTIME=
[https://man7.org/linux/man-pages/man5/systemd.exec.5.html:title]
åé ç®ããulimitã®ã©ã®é ç®ã«è©²åœããããæžãããŠããŸããã
Table 1. Resource limit directives, their equivalent ulimit shell commands and the unit used
LimitNOFILE ulimit -n
ããã»ã¹ã®ãªãœãŒã¹å¶åŸ¡ãå«ãããããã£ãã«ããŽãªã®ãã®ãèšå®ã§ãããããªã®ã§ãããã¥ã¡ã³ãã«ã¯
ç®ãéããŠãããšããã§ãããã
- PATHS
- USER/GROUP IDENTITY
- CAPABILITIES
- SECURITY
- MANDATORY ACCESS CONTROL
- PROCESS PROPERTIES
- SCHEDULING
- SANDBOXING
- âŠ
ä»åã®å¯Ÿè±¡ã®nginxã®ãµãŒãã¹ãŠãããå®çŸ©ãã¡ã€ã«ã¯ãã¡ããªã®ã§
/etc/systemd/system/multi-user.target.wants/nginx.service
# Stop dance for nginx # ======================= # # ExecStop sends SIGSTOP (graceful stop) to the nginx process. # If, after 5s (--retry QUIT/5) nginx is still running, systemd takes control # and sends SIGTERM (fast shutdown) to the main process. # After another 5s (TimeoutStopSec=5), and if nginx is alive, systemd sends # SIGKILL to all the remaining processes in the process group (KillMode=mixed). # # nginx signals reference doc: # http://nginx.org/en/docs/control.html # [Unit] Description=A high performance web server and a reverse proxy server Documentation=man:nginx(8) After=network.target [Service] Type=forking PIDFile=/run/nginx.pid ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;' ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;' ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid TimeoutStopSec=5 KillMode=mixed [Install] WantedBy=multi-user.target
Serviceã«LimitNOFILEãèšå®ã
[Service] Type=forking PIDFile=/run/nginx.pid ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;' ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;' ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid TimeoutStopSec=5 KillMode=mixed LimitNOFILE=10240
èšå®ããªããŒãããŠãnginxãåèµ·åã
$ sudo systemctl daemon-reload $ sudo systemctl restart nginx
倿Žãåæ ãããŸãããã
$ cat /proc/$(cat /run/nginx.pid)/limits Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 8388608 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 7596 7596 processes Max open files 10240 10240 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 7596 7596 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us
hard limitãäžç·ã®å€ã«ãªã£ãŠããŸããŸãããã
ãããæ°æã¡æªãå Žåã¯ã以äžã®ããã«ãããšsoft limitãšhard limitãããããæå®ã§ããŸãã
LimitNOFILE=10240:524288
åèªã¿èŸŒã¿ããŠãåèµ·ååŸããŠç¢ºèªã
$ cat /proc/$(cat /run/nginx.pid)/limits Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 8388608 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 7596 7596 processes Max open files 10240 524288 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 7596 7596 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us
soft limitãšhard limitãããããæå®ã§ããŸããã
ããã¯ãããã¥ã¡ã³ãã«ãã®ããã«æžããŠãããŸãã
Resource limits may be specified in two formats: either as single value to set a specific soft and hard limit to the same value, or as colon-separated pair soft:hard to set both limits individually (e.g. "LimitAS=4G:16G").
ããã§ã1床ãŠãããå®çŸ©ãã¡ã€ã«ãå ã«æ»ããŸãã
[Service] Type=forking PIDFile=/run/nginx.pid ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;' ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;' ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid TimeoutStopSec=5 KillMode=mixed
ãã®ããã«ãããã±ãŒãžã§ã€ã³ã¹ããŒã«ããããŠãããå®çŸ©ãã¡ã€ã«ãè§Šãã®ã¯å«ã ãšæããããããŸããã
ããã§ããdrop-inããšããä»çµã¿ã䜿ããŸãã以äžã®ããã«/etc/systemd/system/[ãµãŒãã¹å].dãšãããã£ã¬ã¯ããªã
äœæããŸãã
$ sudo mkdir /etc/systemd/system/nginx.service.d
ãã®äžã«çœ®ãããã¡ã€ã«ã¯ããdrop-inããšããä»çµã¿ã§ãŠãããæ§æãã¡ã€ã«ããªãŒããŒã©ã€ãã§ããããã§ãã
â»ãªã®ã§ãããdrop-inã«ã€ããŠèª¿ã¹ããšã ãããå
ã»ã©mkdirã§äœæãããã£ã¬ã¯ããªã®æ
å ±ãçŸããã®ã§ãããããã¯
ãã©ãã®æ
å ±ãªãã§ããããïŒ
In addition to the "main" configuration file, drop-in configuration snippets are read from /usr/lib/systemd/.conf.d/, /usr/local/lib/systemd/.conf.d/, and /etc/systemd/.conf.d/. Those drop-ins have higher precedence and override the main configuration file. Files in the .conf.d/ configuration subdirectories are sorted by their filename in lexicographic order, regardless of in which of the subdirectories they reside. When multiple files specify the same option, for options which accept just a single value, the entry in the file sorted last takes precedence, and for options which accept a list of values, entries are collected as they occur in the sorted files.
When packages need to customize the configuration, they can install drop-ins under /usr/. Files in /etc/ are reserved for the local administrator, who may use this logic to override the configuration files installed by vendor packages. Drop-ins have to be used to override package drop-ins, since the main configuration file has lower precedence. It is recommended to prefix all filenames in those subdirectories with a two-digit number and a dash, to simplify the ordering of the files.
systemd-system.conf(5) - Linux manual page
ãã¡ã€ã«åã«ã¯2æ¡ã®æ°åãä»ããããšãæšå¥šãããŠãããããªã®ã§
It is recommended to prefix all filenames in those subdirectories with a two-digit number and a dash, to simplify the ordering of the files.
ãããªæãã«äœæããŠ
/etc/systemd/system/nginx.service.d/00-limits.conf
[Service] LimitNOFILE=10240:524288
åèªã¿èŸŒã¿ããããš
$ sudo systemctl daemon-reload $ sudo systemctl restart nginx
åæ ãããŸããã
$ cat /proc/$(cat /run/nginx.pid)/limits Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 8388608 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 7596 7596 processes Max open files 10240 524288 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 7596 7596 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us
systemctl statusãèŠããšããDrop-Inããšãã衚瀺ãçŸããããã«ãªã£ãŠããŸãã
$ sudo systemctl status nginx
â nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/nginx.service.d
ââ00-limits.conf
Active: active (running) since Thu 2021-12-02 15:32:01 JST; 42s ago
Docs: man:nginx(8)
Process: 6734 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 6735 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 6736 (nginx)
Tasks: 3 (limit: 2278)
Memory: 3.5M
CGroup: /system.slice/nginx.service
ââ6736 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
ââ6737 nginx: worker process
ââ6738 nginx: worker process
12æ 02 15:32:01 ubuntu2004.localdomain systemd[1]: Starting A high performance web server and a reverse proxy server...
12æ 02 15:32:01 ubuntu2004.localdomain systemd[1]: Started A high performance web server and a reverse proxy server.
å šäœã®ããã©ã«ãå€ã倿Žãã
æåŸã«ãsystemdã§ç®¡çããŠãããŠãããå šäœã®ããã©ã«ãå€ã倿ŽããŠã¿ãŸããããããŸãäœ¿ãæ©äŒã¯ãªãæ°ã¯ããŸããã
å ã»ã©ã®nginxã®drop-inã®ãã¡ã€ã«ã¯ã³ã¡ã³ãã¢ãŠãããŠ
/etc/systemd/system/nginx.service.d/00-limits.conf
#[Service] #LimitNOFILE=10240:524288
nginxã«ãåæ ããŠãããŸãïŒããã©ã«ãã«æ»ããŠãããŸãïŒã
$ cat /proc/$(cat /run/nginx.pid)/limits Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 8388608 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 7596 7596 processes Max open files 1024 524288 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 7596 7596 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us
ããã¯ã以äžã§æå®ããŸãã
DefaultLimitCPU=, DefaultLimitFSIZE=, DefaultLimitDATA=, DefaultLimitSTACK=, DefaultLimitCORE=, DefaultLimitRSS=, DefaultLimitNOFILE=, DefaultLimitAS=, DefaultLimitNPROC=, DefaultLimitMEMLOCK=, DefaultLimitLOCKS=, DefaultLimitSIGPENDING=, DefaultLimitMSGQUEUE=, DefaultLimitNICE=, DefaultLimitRTPRIO=, DefaultLimitRTTIME=
ãã¡ã€ã«ã®å Žæã¯ããã®ãããã®ããã§ããã
/etc/systemd/system.conf, /etc/systemd/system.conf.d/.conf, /run/systemd/system.conf.d/.conf, /usr/lib/systemd/system.conf.d/*.conf
~/.config/systemd/user.conf, /etc/systemd/user.conf, /etc/systemd/user.conf.d/.conf, /run/systemd/user.conf.d/.conf, /usr/lib/systemd/user.conf.d/*.conf
systemd-system.conf(5) - Linux manual page
å®éã/etc/systemd/system.confãã¡ã€ã«ãèŠããšãã³ã¡ã³ãã¢ãŠããããŠããŸããèšå®é
ç®ãããã®ãããããŸãã
$ grep DefaultLimit /etc/systemd/system.conf
#DefaultLimitCPU= #DefaultLimitFSIZE= #DefaultLimitDATA= #DefaultLimitSTACK= #DefaultLimitCORE= #DefaultLimitRSS= #DefaultLimitNOFILE=1024:524288 #DefaultLimitAS= #DefaultLimitNPROC= #DefaultLimitMEMLOCK= #DefaultLimitLOCKS= #DefaultLimitSIGPENDING= #DefaultLimitMSGQUEUE= #DefaultLimitNICE= #DefaultLimitRTPRIO= #DefaultLimitRTTIME=
ã¡ãªã¿ã«ãããã¯Managerãšããèšå®ã«ããŽãªã«ãªããŸãã
[Manager]
ãããã®é
ç®ã¯ãsystemdã§ç®¡çãããŠãããµãŒãã¹ãã¹ãŠã«åœ±é¿ããã®ã§ãããŸã䜿ãããšã¯ãªãããªãšæããŸããã
詊ãã ã詊ããŠãããŸãããã
ããã§ã以äžã®ããã«èšå®ããŠ
[Manager] DefaultLimitNOFILE=10240:524288
åæ ã
$ sudo systemctl daemon-reload $ sudo systemctl restart nginx
確èªã
$ cat /proc/$(cat /run/nginx.pid)/limits Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 8388608 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 7596 7596 processes Max open files 10240 524288 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 7596 7596 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us
ä»åã¯nginxã ãåèµ·åããŠç¢ºèªããŠã¿ãŸããããããã©ã«ãå€èšå®åŸã«èµ·åããããã»ã¹ã«ã¯åœ±é¿ããããã«
ãªããŸãã
ãŸãããã®ãã¡ã€ã«ãå¥ã«åãåºãããšãã§ããŸãã
ã«ãŒã«ããããªã®ã§
/etc/systemd/system.conf, /etc/systemd/system.conf.d/.conf, /run/systemd/system.conf.d/.conf, /usr/lib/systemd/system.conf.d/*.conf
~/.config/systemd/user.conf, /etc/systemd/user.conf, /etc/systemd/user.conf.d/.conf, /run/systemd/user.conf.d/.conf, /usr/lib/systemd/user.conf.d/*.conf
ãã£ã¬ã¯ããªãäœæããŠ
$ sudo mkdir /etc/systemd/system.conf.d
ãã¡ã€ã«ãäœæã
/etc/systemd/system.conf.d/00-override.conf
[Manager] DefaultLimitNOFILE=10240:524288
åèªèŸŒããŠãåæ ã
$ sudo systemctl daemon-reload $ sudo systemctl restart nginx
倿Žã確èªã§ããŸããã
$ cat /proc/$(cat /run/nginx.pid)/limits Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 8388608 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 7596 7596 processes Max open files 10240 524288 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 7596 7596 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us
ãŸãšã
systemdå¶åŸ¡äžã§åäœããããã»ã¹ã®ããªãœãŒã¹å¶åŸ¡ãè¡ã£ãŠã¿ãŸããã
drop-inãã¡ã€ã«ã®å Žæãšããã¥ã¡ã³ãã®æžããæ¹ã«ã¡ãã£ãšçãããæ°ãããŸããïŒUbunut Linuxã ããã§ãããâŠïŒã
ããã ãã¡ãã£ãšããããŸããã
ã ãããããæ¹ã¯ããã£ãã®ã§è¯ããšããŸãããã