![`build-locale-archive`를 실행하면 SSH 세션이 종료됩니다.](https://linux55.com/image/50124/%60build-locale-archive%60%EB%A5%BC%20%EC%8B%A4%ED%96%89%ED%95%98%EB%A9%B4%20SSH%20%EC%84%B8%EC%85%98%EC%9D%B4%20%EC%A2%85%EB%A3%8C%EB%90%A9%EB%8B%88%EB%8B%A4..png)
예전에 이런 질문을 한 적이 있는데,로캘 아카이브의 크기를 어떻게 줄일 수 있나요?, 내 문제에 대한 좋은 답변을 얻었지만 실행하면 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.