今天,客戶反饋后臺(tái)無(wú)法訪問(wèn),于是開(kāi)啟了排查之路。

問(wèn)題定位:

使用 df -h 命令查看,硬盤空間充足;

使用 free -m和top命令查看,發(fā)現(xiàn)16G的內(nèi)存,被占用了多達(dá)15G;

查看安全防護(hù)日志,系統(tǒng)日志,未發(fā)現(xiàn)異常。

使用ps -ef|grep java命令查看進(jìn)程是否存在,發(fā)現(xiàn)已經(jīng)不存在java進(jìn)程了;

問(wèn)題大概就是內(nèi)存占用率過(guò)高,導(dǎo)致java程序被kill掉了。

問(wèn)題解決:

客戶采購(gòu)的機(jī)器為阿里云機(jī)器,使用lnmp一鍵安裝腳本安裝的基礎(chǔ)環(huán)境,可以通過(guò) ps auxw|head -1;ps auxw|sort -rn -k4|head -50 查看占用內(nèi)存前50的進(jìn)程,發(fā)現(xiàn)MySQL占用內(nèi)存過(guò)多,php-fpm雖然單個(gè)進(jìn)程占用內(nèi)存不多,但是肉眼可見(jiàn)的均是php-fpm進(jìn)程;

1、優(yōu)化mysql配置

配置文件在 /etc/my.cnf,有如下幾個(gè)配置可以關(guān)注下 innodb_buffer_pool_size、key_buffer_size、max_connections、key_buffer_size,配置文件修改后,需重啟MySQL服務(wù)

2、優(yōu)化php-fpm配置

php-fpm的配置文件在/usr/local/php/etc路徑下,

配置文件的一些解釋:

pm = dynamic
pm.max_children = 30
pm.start_servers = 15
pm.min_spare_servers = 10
pm.max_spare_servers = 20

pm = dynamic:子進(jìn)程的數(shù)量在下面配置的基礎(chǔ)上動(dòng)態(tài)設(shè)置:pm.max_children,pm.start_servers,pm.min_spare_servers,pm.max_spare_servers

max_children:pm?設(shè)置為?static?時(shí)表示創(chuàng)建的子進(jìn)程的數(shù)量,pm?設(shè)置為?dynamic?時(shí)表示最大可創(chuàng)建的子進(jìn)程的數(shù)量。必須設(shè)置。

start_servers:設(shè)置啟動(dòng)時(shí)創(chuàng)建的子進(jìn)程數(shù)目。僅在?pm?設(shè)置為?dynamic?時(shí)使用。默認(rèn)值:min_spare_servers + (max_spare_servers - min_spare_servers) / 2。

min_spare_servers:設(shè)置空閑服務(wù)進(jìn)程的最低數(shù)目。僅在?pm?設(shè)置為?dynamic?時(shí)使用。必須設(shè)置。

max_spare_servers:設(shè)置空閑服務(wù)進(jìn)程的最大數(shù)目。僅在?pm?設(shè)置為?dynamic?時(shí)使用。必須設(shè)置。

php-fpm配置修改后,也需要重啟。

重啟后使用相關(guān)壓測(cè)工具進(jìn)行測(cè)試,未出現(xiàn)java進(jìn)程被kill的情況。

相關(guān)文章

發(fā)表回復(fù)

您的郵箱地址不會(huì)被公開(kāi)。 必填項(xiàng)已用 * 標(biāo)注

聯(lián)系電話

176-8951-1878

微信
微信
分享本頁(yè)
返回頂部
西藏巨騰信息技術(shù)有限公司提供拉薩網(wǎng)站建設(shè)、軟件開(kāi)發(fā)、小程序開(kāi)發(fā)、APP開(kāi)發(fā)、網(wǎng)絡(luò)營(yíng)銷、在線推廣、在線商城開(kāi)發(fā)等服務(wù),聯(lián)系電話: 17689511878