때때로 "my"서버는 메모리와 스왑 공간이 모두 부족하기 때문에 중단됩니다. (핑에 계속 반응하지만 그 이상은 아니고 ssh조차도 아닙니다).
나는 리눅스가 메모리 초과 커밋을한다고 들었다. 나는 은행이 돈을 쓰는 것과 동일하다는 것을 이해한다. 대부분의 프로세스가 실제로 요청한 모든 메모리를 사용하지 않는다고 가정하면 실제로 사용 가능한 것보다 더 많은 메모리를 프로세스에 부여한다 적어도 동시에는 아닙니다.
이것이 실제로 시스템이 때때로 정지되는 원인이라고 가정하십시오.이 경우에 대해서는 여기에서 논의하지 않겠습니다 (서버의 모든 서비스가 다운 될 수 있지만 여전히 핑에 응답하는 이유는 무엇입니까? 및을 알아내는 방법 참조). .
그래서,
CentOS에서 과도하게 메모리 초과 커밋을 비활성화하거나 줄이려면 어떻게합니까? vm.overcommit_memory (값 0, 1 또는 2)와 vm.overcommit_ratiom이라는 두 가지 설정이 있지만 어디서 설정을 찾아서 변경 해야하는지 (일부 구성 파일 희망) 알지 못합니다. 어떻게 시도해야합니까? 변경 사항을 적용하기 위해 서버를 재부팅해야하는지 여부입니다.
그리고 안전합니까? 어떤 부작용을 기대할 수 있습니까? overcommit_memory에 대한 인터넷 검색을 할 때 사람들이 서버를 더 이상 부팅 할 수 없다고 말하는 무서운 것들을 발견합니다 ....
HTTP 요청을 처리하는 동안 호출되는 PHP로 작성된 쿼리로 인해 메모리 사용량이 갑자기 증가하는 이유는 mysql이므로 일부 PHP 스크립트가 완료되지 않아 때때로 500 응답이 발생할 것으로 예상합니다. 서버가 너무 바빠서 내가 걸릴 수있는 위험이 있습니다 (확실히 전체 서버에 액세스 할 수없고 하드 재부팅 해야하는 것이 좋습니다).
아니면 잘못된 설정을 선택하면 서버가 실제로 재부팅되지 않을 수 있습니까?