占用查询
ps aux --sort -rss /*查询进程并以内存使用率降序排序*/
ps aux|grep XX /*查询进程名包含'XX'的进程信息*/
以上图为例,进程3661、5965分别占用约15%内存,Mysql数据库占用5.1%内存,php-fpm:pool www代表PHP子进程。对照结果, 可以针对优化各个进程项目,或Kill一些无用进程。
Mysql & PHP内存优化
Mysql内存占用优化
前往宝塔面板-Mysql管理-性能调整
可以选择针对不同内存大小服务器的预设方案,或是自定义调整参数。
PHP内存占用优化
前往宝塔面板-PHP管理-性能调整
- 将运行模式修改为合适自己的模式。
- 调整参数:
max_children *允许创建的最大子进程数
start_servers *起始进程数(服务启动后初始进程数量)
min_spare_servers *最小空闲进程数(清理空闲进程后的保留数量)
max_spare_servers *最大空闲进程数(当空闲进程达到此值时清理)
【最大子进程数量】越大,并发能力越强,但max_children最大不要超过5000
【内存】每个PHP子进程需要20MB左右内存,过大的max_children会导致服务器不稳定
【静态模式】始终维持设置的子进程数量,对内存开销较大,但并发能力较好
【动态模式】按设置最大空闲进程数来收回进程,内存开销小,建议小内存机器使用
【按需模式】根据访问需求自动创建进程,内存开销极小,但并发能力略差