overcomit_memory
1. Memory commit ?
process에게 메모리 할당시 주소값만 넘겨주고 실제 물리 메모리 Binding은 하지 않는것
(프로세스 대기 - 실행 - 준비 중 실행만 ㄱ)
2. Overcommit
실제 물리 메모리 용량보다 더 많은 양의 메모리를 임시로 부여하는 것.
(영혼까지 끌어모았는데 더 요청할 경우
Badness()가 최대치인 프로세스를 강제종료시켜버림) -> Killed
3. where is it?
/proc/sys/vm
<overcommit_memory>
Value | 0 (default) | 1 | 2 |
Description | Heuristic Algorithm 을 사용하여 Overcommit 양 조절 | 무조건 Overcommit 성공하게함 ※ Overcommit 양이 과도해질 경우 Badness가 높은 Process를 Kill함. |
Overcommit_ratio 에 명시된 비율에 한해서 Overcommit 허용 ※ default: RAM 50% |
[overcommit Setting 구문]
sudo sysctl vm.overcommit_memory=value
[재부팅 시에도 유지하도록 하고싶다면]
/etc/sysctl.conf 에 위 구문 추가
[overcommit 관련 세팅사항 확인]
sysctl -a | grep "overcommit"
4. Error
Linker (libgs.so.9) 에서 segment가 파일로부터 읽힐 수 있으나 그것이 필요한 물리주소로 매핑될 수 있다는 의미는 아니다.
이 오류는 그것이 실패한 것이다.
_dl_map_segment는 mmap과 Map_Fiexed를 부르는데 이놈들은 에러를 발생한다 만약 페이지가 요구된 주소로 매핑될수 없을 때 (이미 뭔가 다른 주소에 매핑된 이유로)_ 물론 수천가지 다른 이유도 생길 수 있음.
5. Reference
https://unix.stackexchange.com/questions/496292/what-does-a-failed-to-map-segment-from-shared-object-error-mean
https://brunch.co.kr/@alden/16#comment
'LINUX > Linux' 카테고리의 다른 글
[Linux] node.js 최신버전 설치 (0) | 2021.05.20 |
---|---|
rpm package with command (0) | 2020.11.10 |
데몬 & 서비스 / 소켓 (0) | 2020.02.09 |
[Linux] apt package manager (0) | 2020.02.06 |
Ubuntu RSA Authentication (Feat. SSH, Putty, Filezilla) (0) | 2020.02.05 |