- Plesk for Linux
Website is unavailable with the following error:
CONFIG_TEXT: 503 Service Unavailable
- Website is configured with
php-fpmhandler at Plesk > Domains > example.com > PHP Settings.
The following error can be found in domain's
# tail -fn0 /var/www/vhosts/example.com/logs/error_log
[Fri May 13] [proxy:error] [pid 13377:tid] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /var/www/vhosts/system/example.com/php-fpm.sock (*) failed
[Fri May 13] [proxy_fcgi:error] [pid 13377:tid] [client 203.0.113.2:44054] AH01079: failed to make connection to backend: httpd-UDS
php5-fpm.serviceservice is down:
# service php5-fpm status
php5-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php5-fpm.service; enabled)
Active: failed (Result: exit-code) since Fri 2016-05-13 22:05:30 EEST; 44s ago
May 13 22:05:30 example.com php5-fpm: [13-May-2016 22:05:30] ERROR: unable to allocate 1168 bytes in shared memory: Cannot allocate memory: Cannot...emory (12)
The following error message
unable to allocate 1168 bytes in shared memoryis shown in
# journalctl -xn-- Unit php5-fpm.service has begun starting up.
May 13 22:07:35 example.com php5-fpm: [13-May-2016 22:07:35] ERROR: unable to allocate 1168 bytes in shared memory: Cannot allocate memory: Cannot allocate mem
The system cannot allocate the required amount of memory.
Note: if direct SSH access to the server is not possible, contact the server administrator for further assistance.
Note: if container virtualization is used, these steps should be applied on a hardware node side.
Connect to the server via SSH;
increase the default value of vm.max_map_count parameter. An example of how to do that is shown below:
# sysctl -w vm.max_map_count=655300
vm.max_map_count = 655300
# echo 655350 > /proc/sys/vm/max_map_count
To change it permanently edit
/etc/sysctl.confwith a text edito and add the following parameter with the new value. For example:
Run the command to immediately apply the changes made in
# sysctl -p
/etc/sysctl.conf contains the maximum number of memory map areas a process may have. Memory map areas are used as a side-effect of calling malloc, directly by
mprotect, and also when loading shared libraries.
While most applications need less than a thousand maps, certain programs, particularly malloc debuggers, may consume lots of them, e.g. up to one or two maps per allocation.
The default value is 65536.