`build-locale-archive`를 실행하면 SSH 세션이 종료됩니다.

`build-locale-archive`를 실행하면 SSH 세션이 종료됩니다.

예전에 이런 질문을 한 적이 있는데,로캘 아카이브의 크기를 어떻게 줄일 수 있나요?, 내 문제에 대한 좋은 답변을 얻었지만 실행하면 build-locale-archiveRHEL6 호스트와의 연결이 끊어집니다. 이런 일이 발생하지 않도록 하려면 어떻게 해야 합니까?

고쳐 쓰다:

나는 달리기로 결정했다..

# 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죽은 것 같았어요.crondbuild-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.

관련 정보