在Debian上优化LNMP(Linux, Nginx, MySQL, PHP)环境以节省内存使用,可以参考以下步骤:
/etc/php/7.0/fpm/php.ini
(根据实际PHP版本修改路径),调整以下参数:
pm.max_children
: 控制PHP-FPM进程的最大数量。pm.start_servers
: 控制PHP-FPM启动时的进程数量。pm.min_spare_servers
: 控制PHP-FPM的最小空闲进程数量。pm.max_spare_servers
: 控制PHP-FPM的最大空闲进程数量。pm.max_requests
: 控制每个PHP-FPM进程在被重新生成之前可以处理的请求数量。/etc/nginx/nginx.conf
,调整以下参数:
worker_processes
: 设置为 auto
或者根据CPU核心数调整。events
:
worker_connections
: 设置为 1024
或更高。关闭不必要的服务和进程:
systemctl list-units --types service
查看系统中正在运行的服务,关闭那些非必需的服务。top
或 htop
等命令查看系统中正在运行的进程,终止那些用户自行启动但当前不再需要的进程。调整内核参数:
/etc/sysctl.conf
文件中的内核参数来优化内存管理,例如调整 vm.swappiness
参数,控制内核将内存数据交换到Swap空间的倾向程度。innodb_buffer_pool_size
参数,通常设置为系统总内存的50%-80%。max_connections
参数,根据实际需求设置合适的值。代码层面优化:
使用轻量级替代品:
pdksh
替代 bash
以节省内存。htop
、glances
等工具来监控系统资源使用情况,及时发现并解决内存使用问题。Valgrind
来检测和分析内存泄漏问题。在进行任何配置更改后,记得重新加载或重启相应的服务以使更改生效。
通过上述优化措施,可以有效地减少Debian上LNMP环境的内存使用,从而提高服务器的性能。