
以前にこのような質問をしたことがありますが、ロケールアーカイブのサイズをどのように縮小できますか?私は問題に良い答えを得ましたが、実行するとbuild-locale-archive
RHEL6ホストとの接続が失われます。これが起こらないようにするにはどうすればよいですか?
修正する:
走ることにしました。
# strace -f -o /tmp/output build-locale-archive
...これは唯一の興味深い結果です...
17779 truncate("/usr/lib/locale/locale-archive.tmpl", 0) = 0
17779 execve("/usr/sbin/tzdata-update", ["/usr/sbin/tzdata-update"], [/* 0 vars */]) = 0
17779 open("/etc/sysconfig/clock", O_RDONLY) = 3
17779 read(3, "ZONE=\"Africa/Abidjan\"\nUTC=true\n", 32767) = 31
17779 read(3, "", 32736) = 0
17779 close(3) = 0
17779 open("/usr/share/zoneinfo/Africa/Abidjan", O_RDONLY) = 3
17779 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\2\0\0\0\0"..., 32768) = 156
17779 read(3, "", 32612) = 0
17779 close(3) = 0
17779 open("/etc/localtime", O_RDONLY) = 3
17779 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\2\0\0\0\0"..., 32768) = 156
17779 read(3, "", 32612) = 0
17779 close(3) = 0
17779 open("/var/spool/postfix/etc/localtime", O_RDONLY) = -1 ENOENT (No such file or directory)
17779 _exit(0) = ?
...どうすればいいのかわかりません。
そして走ってsnmpd
死んだようでした。crond
build-locale-archive
アップデート2:
Gilesの回答ありがとうございます。しかし、実行するとまだ接続が失われているので、あなたのアドバイスに正しく従っていないようです。
[root@dev-007 ~]# sysctl vm.overcommit_memory=2
vm.overcommit_memory = 2
[root@dev-007 ~]# (ulimit -v 100000; build-locale-archive)
build-locale-archive: cannot read archive header
[root@dev-007 ~]# cd /usr/lib/locale/
[root@dev-007 locale]# mv locale-archive locale-archive.tmpl
[root@dev-007 locale]# (ulimit -v 100000; build-locale-archive)
Connection to dev-007 closed.
私はあなたの指示に正しく従いましたか?そうでない場合は、何が間違っているのか教えてください。
3つのアップデート
申し訳ありません。皆さんに連絡を取るのに時間がかかりすぎました。
私の交換情報は次のとおりです。
[root@dev-007 ~]# swapon -s
Filename Type Size Used Priority
/dev/sda3 partition 10178552 0 -1
[root@dev-007 ~]# df /dev/sda3
Filesystem 1K-blocks Used Available Use% Mounted on
- 952296 184 952112 1% /dev
答え1
snmpd
のような無関係なプロセスがcrond
死んでいることを考えるとジョエル・テイラーの観察それlocale-gen
大量のメモリが利用可能、あなたは被害者ですOOMキラー。
OOMのシャットダウンを回避するには、オーバーコミットポリシーを次のように設定します。乱用の無効化:sysctl vm.overcommit_memory=2
オーバーコミットが無効になっている場合でも、割り当てlocale-gen
可能なメモリ量を制限することでダメージを制限するのが最善です。
(ulimit -v 100000; build-locale-archive)
答え2
問題は、ロケールファイルが切り捨てられることです。確認する:http://bleachbit.sourceforge.net/forum/linux-fedora-core-15-usrliblocalelocale-archive-still-large-after-removing-all-one-locale
したがって、テンプレートファイルの上にロケールファイルをコピーしてbuild-locale-archiveを実行すると、すべてがうまく機能します。
cp -f /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.tmpl build-locale-archive.