最近在進(jìn)行php-fpm內(nèi)存優(yōu)化,運(yùn)行命令
pmap $(pgrep php-fpm|head -n 1)
發(fā)現(xiàn)內(nèi)存載入了一個99M 的大文件
/usr/lib/locale/locale-archive
這個文件是關(guān)于語言支持的,默認(rèn)包含各種語言和字符集支持,服務(wù)器用的是字符界面,根本不需要那么多,有en_US.UTF-8就差不多了,最多加個中文zh_CN
精簡辦法
#查看語言支持列表
localedef --list-archive
#精簡locale
cd /usr/lib/locale/
mv locale-archive locale-archive.old
localedef -i en_US -f UTF-8 en_US.UTF-8
# 添加中文支持(可選)
localedef -i zh_CN -f UTF-8 zh_CN.UTF-8
localedef -i zh_CN -f GB2312 zh_CN
localedef -i zh_CN -f GB2312 zh_CN.GB2312
localedef -i zh_CN -f GBK zh_CN.GBK
#下面這些也是可選的,可以豐富中文支持(香港/臺灣/新加坡)
localedef -f UTF-8 -i zh_HK zh_HK.UTF-8
localedef -f UTF-8 -i zh_TW zh_TW.UTF-8
localedef -f UTF-8 -i zh_SG zh_SG.UTF-8
精簡結(jié)果
# pmap $(pgrep php-fpm|head -n 1) |grep local
00007f3d906d1000 1500K r---- /usr/lib/locale/locale-archive
變?yōu)?.5M,如果加上基本的中文支持,則是5M。
換個角度,如果你怕影響其他服務(wù),刪除中英文之外的其它語言算是比較保險的,辦法是這樣的:
localedef --list-archive |egrep -v ^"en_US|zh" |xargs localedef --delete-from-archive
mv -f /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.tmpl
build-locale-archive
這樣一來,文件會縮小至10M
# du locale-archive
10892 locale-archive
新聞熱點(diǎn)
疑難解答
圖片精選