CentOS6.5 字符集优化

浏览次数:1977 关键词 ( 字符集  )

这两天刚好做PHP-FPM的内存优化,在查看PHP-FPM内存使用情况时发现locale-archive占用内存96M,该文件为语言,环境,字体相关的索引文件,由于很多语言无用,所以删除以压榨内存,凡setlocale的程序都会将locale-archive文件mmap到内存当中

内存使用细节

      [root@AY14070313210045657aZ ~]# pmap -d `pidof php-fpm|awk '{print $1}'` 7124:   php-fpm: pool www                                                     Address           Kbytes Mode  Offset           Device    Mapping 0000000000400000   11028 r-x-- 0000000000000000 0ca:00001 php-fpm 00000000010c5000     116 rw--- 0000000000ac5000 0ca:00001 php-fpm ....省略 00007f033ea1a000      64 r-x-- 0000000000000000 0ca:00001 libGB.so 00007f033ea2a000    2044 ----- 0000000000010000 0ca:00001 libGB.so 00007f033ec29000       4 r---- 000000000000f000 0ca:00001 libGB.so 00007f033ec2a000       4 rw--- 0000000000010000 0ca:00001 libGB.so 00007f033ec2b000      12 r-x-- 0000000000000000 0ca:00001 EUC-CN.so 00007f033ec2e000    2044 ----- 0000000000003000 0ca:00001 EUC-CN.so 00007f033ee2d000       4 r---- 0000000000002000 0ca:00001 EUC-CN.so 00007f033ee2e000       4 rw--- 0000000000003000 0ca:00001 EUC-CN.so 00007f033ee2f000   96832 r---- 0000000000000000 0ca:00001 locale-archive 00007f0344cbf000      48 r-x-- 0000000000000000 0ca:00001 libnss_files-2.12.so 00007f0344ccb000    2048 ----- 000000000000c000 0ca:00001 libnss_files-2.12.so 00007f0344ecb000       4 r---- 000000000000c000 0ca:00001 libnss_files-2.12.so 00007f0344ecc000       4 rw--- 000000000000d000 0ca:00001 libnss_files-2.12.so 00007f0344ecd000      28 r-x-- 0000000000000000 0ca:00001 pdo_mysql.so 00007f0344ed4000    2044 ----- 0000000000007000 0ca:00001 pdo_mysql.so 00007f03450d3000       4 rw--- 0000000000006000 0ca:00001 pdo_mysql.so

 

进行相应调整(此处请酌情考虑应用需要的)

      ###重命名该文件### [root@ipython ~]# mv /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.bak ###重新添加语言支持### [root@ipython ~]# localedef -i en_US -f UTF-8 en_US.UTF-8 [root@ipython ~]# localedef -i zh_CN -f UTF-8 zh_CN.UTF-8 ###可选中文支持### [root@ipython ~]# localedef -i zh_CN -f GB2312 zh_CN [root@ipython ~]# localedef -i zh_CN -f GB2312 zh_CN.GB2312 [root@ipython ~]# localedef -i zh_CN -f GBK zh_CN.GBK ###富中文支持(HK/TW/SG)#### [root@ipython ~]# localedef -f UTF-8 -i zh_HK zh_HK.UTF-8 [root@ipython ~]# localedef -f UTF-8 -i zh_TW zh_TW.UTF-8 [root@ipython ~]# localedef -f UTF-8 -i zh_SG zh_SG.UTF-8     ####重启服务器,再查看使用情况#### [root@ipython ~]# pmap -d `pidof php-fpm|awk '{print $1}'`|awk '/locale/' 00007f38d0717000    3104 r---- 0000000000000000 0ca:00001 locale-archive     ###这样下来就小了不少了,如果需要保险点的方法可以使用以下命令### [root@ipython ~]# localedef --list-archive |egrep -v ^"en_US|zh" |xargs localedef --delete-from-archive [root@ipython ~]# mv -f /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.bak [root@ipython ~]# build-locale-archive