linux服务器总是内存占用很高,cpu使用率反而不高,这是什么情况啊??

机器上面主要是php,nginx,数据库用的阿里的,

https://img3.mukewang.com/5c8f63810001491d05820091.jpg

一般访问不高的时候,内存占用情况像这样,访问高的时候cpu占用会上升,但是有时候内存占用反而会下降,改了几次php-fpm,也没多大效果,由于目前项目这边没运维,我对linux不是特别熟悉,问下各位这种是什么情况啊??属于正常吗??

https://img1.mukewang.com/5c8f63820001b29505750070.jpg

上图是free出来的数据,看着cache/buffers都不大啊,但是我的php-fpm启动了
https://img4.mukewang.com/5c8f63830001200004090038.jpg
两百多个...php5.6的,8g内存,这个是要优化吗?

慕容森
浏览 1869回答 3
3回答

桃花长相依

free -m 看下,buff/cache,available 这两列比较大的话,不用担心。 linux默认会把许多内容缓存到内存里,提高运行效率。如果内存不足,会把缓存里的数据交换到磁盘。 如果这两项比较小,估计是你开了太多php-fpm进程。 PHP5版本的话8G内存一般开128个PHP-FPM进程就可以了。PHP7可以开256个进程。 如果想获得更高的RPS,需要优化你的PHP程序。 系统上线后,分析下nginx日志,看看哪些接口访问量比较大,耗费时间长,然后优先处理这些接口。 建议把PHP升级到7.0版本,内存和CPU资源占用要少很多。如果想要获得更高性能,可以考虑将瓶颈接口换成GO语言实现。

森林海

你看是哪个进程占用了较多的内存
打开App,查看更多内容
随时随地看视频慕课网APP