![/proc/sys/kernel/shmall의 해석](https://rvso.com/image/122418/%2Fproc%2Fsys%2Fkernel%2Fshmall%EC%9D%98%20%ED%95%B4%EC%84%9D.png)
내가 틀리지 않는 한. 값은 /proc/sys/kernel/shmall
시스템에 할당할 수 있는 공유 메모리의 총량(바이트)을 나타냅니다.
저는 t2.micro
EC2 Debian 인스턴스를 사용하고 있으며 다음과 같은 결과를 얻습니다.
$ cat /proc/sys/kernel/shmall
18446744073692774399
나는 이것이 공유 메모리의 총 할당 가능한 양이 대략 다음과 같다는 것을 의미한다고 생각하지 않습니다.0.02제타바이트...
답변1
맞습니다. 다음과 같이 정의하면 누구에게나 충분할 것입니다 (ULONG_MAX - (1UL << 24))
. 하지만 이는 프로세스별 값이 아니라 전체 값이라는 점에 유의하세요. 보다http://elixir.free-electrons.com/linux/latest/source/include/uapi/linux/shm.h#L13:
* SHMMNI, SHMMAX 및 SHMALL은 기본 상한값입니다. * sysctl에 의해 수정되었습니다. SHMMAX 및 SHMALL 값이 선택되었습니다. * 사용자 공간이 있는 시나리오를 촉진하지 않고 가능한 한 커야 합니다. * 양식 작업을 통해 한계를 조정할 때 오버플로가 발생합니다. * "현재 제한 검색; X 추가; 제한 업데이트". 그러므로 그렇지 않다 * SHMMAX 및 SHMALL을 더 크게 만드는 것이 좋습니다. 이러한 한도는 * 32비트 및 64비트 시스템 모두에 적합합니다.