여유 RAM을 준비하기 위해 Linux 커널을 조정하는 방법은 무엇입니까?

여유 RAM을 준비하기 위해 Linux 커널을 조정하는 방법은 무엇입니까?

내 시스템은 메모리 사용량이 매우 높고 디스크 활동도 많습니다. 따라서 캐시에 가능한 한 많은 파일을 원하지만 짧은 시간 동안 더 많은 RAM이 필요한 사용자 모드 프로세스에 신속하게 응답할 수 있을 만큼 충분한 RAM을 원합니다. 나는 기본적으로 "항상" 필요한 RAM의 일반적인 양을 준비하여 갑작스런 사용자 모드 메모리 할당의 대기 시간을 줄이려고 노력하고 있습니다. 나는 메모리 피크가 300-500MB 범위에 있을 것으로 예상하므로 대부분의 시간 동안 그 정도의 여유 RAM을 확보할 것으로 예상합니다.

메모리가 부족할 경우 증가시키면 RAM에 더 많은 디스크 캐시가 유지된다는 것을 알고 있으므로 /proc/sys/vm/vfs_cache_pressure이렇게 설정했습니다 120(이렇게 하면 캐싱이 향상되어 dentries내 작업 부하에 좋다고 생각합니다). 또한 예약된 RAM이 무엇인지 알고 있으므로 /proc/sys/vm/min_free_kbytes항상 300MB의 여유 공간을 확보할 수 있도록 이를 300000으로 설정했습니다.

그러나 사용자 모드 프로세스에서는 min_free_kbytes.커널에 이를 지시하는 데 사용할 수 있는 커널 설정이 있습니까?노력하다300MB의 RAM을 준비 상태로 유지하시겠습니까?즉, 사용자 모드 프로그램에 RAM이 필요한 경우 해당 예약에서 즉시 제공하십시오.그리고향후 사용자 모드 프로세스를 위해 예약된 메모리와 다시 일치하도록 백그라운드 프로세스를 시작하여 더 많은 사용 가능한 RAM을 확보합니다(예: 더티 페이지 쓰기, 일부 디스크 캐시 삭제).

min_free_kbytes제가 올바르게 이해했다면 디스크 캐싱에 사용할 수 없지만 모든 사용자 프로세스에서 자유롭게 할당할 수 있는 메모리를 제외하고 메모리를 예약하는 설정을 찾고 있습니다 .

관련 정보