CentOS6.X文字セット最適化の詳細
最近php-fpmメモリの最適化を行い、コマンドを実行しています。
pmap $(pgrep php-fpm|head -n 1)
メモリが99 Mの大きなファイルにロードされていることを発見しました
/usr/lib/locale/locale-archive
このファイルは言語のサポートについてで、デフォルトは各種の言語と文字セットのサポートを含んで、サーバーは文字のインタフェースを使って、まったくそんなに多くなくて、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
シン結果# pmap $(pgrep php-fpm|head -n 1) |grep local
00007f3d906d1000 1500K r---- /usr/lib/locale/locale-archive
1.5 Mになり、基本的な中国語サポートを加えると5 Mになります。
別の角度から言えば、他のサービスに影響を与えるのを恐れている場合は、中国語と英語以外の言語を削除するのが保険的です。
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
これにより、ファイルは10 Mに縮小されます
# du locale-archive
10892 locale-archive