탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 조정 가능 매개변수 참조 설명서 Oracle Solaris 11 Information Library (한국어) |
이 절에서는 fsflush 및 관련 조정 가능 매개변수에 대해 설명합니다.
시스템 데몬인 fsflush는 다음 세 가지 주요 작업을 수행하기 위해 정기적으로 실행됩니다.
매 호출 시 fsflush는 특정 시효가 지난 더티 파일 시스템 페이지를 디스크에 비웁니다.
매 호출 시 fsflush는 메모리 부분을 검사하여 수정된 페이지가 해당 백업 저장소에 기록되도록 합니다. 페이지는 수정된 경우와 다음 조건 중 하나를 충족하지 않을 경우 기록됩니다.
페이지가 커널 페이지입니다.
페이지가 사용 가능한 페이지입니다.
페이지가 잠겨 있습니다.
페이지에 교체 장치가 연결되어 있습니다.
페이지가 현재 I/O 작업에 관련되어 있습니다.
결과적으로 읽기 권한으로 mmap을 사용하여 매핑된 파일과 실제로 변경된 파일에서 페이지가 비워집니다.
백업 저장소로 페이지가 비워지지만 페이지를 사용 중인 프로세스에는 연결된 상태로 유지됩니다. 따라서 시스템에 메모리가 부족할 때 페이지가 백업 저장소에 기록될 때까지 대기할 필요 없이 페이지를 재생 이용할 수 있으므로 페이지 재생 이용이 간편해집니다. 단, 비우기 이후에 페이지가 수정되지 않았어야 합니다.
fsflush는 파일 시스템 메타 데이터를 디스크에 기록합니다. 이 기록 작업은 n번째 호출마다 수행됩니다. 여기서 n은 다양한 구성 변수를 기반으로 계산됩니다. 자세한 내용은 tune_t_fsflushr 및 autoup을 참조하십시오.
다음은 구성 가능한 기능입니다.
호출 빈도(tune_t_fsflushr)
메모리 검사 실행 여부(dopageflush)
파일 시스템 데이터 비우기 수행 여부(doiflush)
파일 시스템 데이터 비우기 수행 빈도(autoup)
대부분의 시스템에서 메모리 검사와 파일 시스템 메타 데이터 동기화는 fsflush가 주로 수행하는 작업입니다. 시스템 사용량에 따라 메모리 검사에 CPU 시간이 조금만 사용될 수도 있고 너무 많이 사용될 수도 있습니다.
부호 있는 정수
1
1 ~ MAXINT
초
아니오
값이 0보다 작거나 같으면 1로 재설정되고 경고 메시지가 표시됩니다. 이 검사는 부트 시에만 수행됩니다.
autoup 매개변수를 참조하십시오.
불안정
tune_t_flushr과 함께 autoup은 각 호출 시 더티 페이지가 있는지 검사되는 메모리의 양과 파일 시스템 동기화 작업의 빈도를 제어합니다.
autoup 값은 버퍼를 해제 목록에서 삭제할지 여부를 제어하는 데에도 사용됩니다. B_DELWRI 플래그(변경된 파일 컨텐츠 페이지를 나타냄)가 지정된 버퍼는 버퍼가 autoup초 이상 이 목록에 있을 때마다 목록에서 삭제됩니다. autoup 값을 늘리면 버퍼가 더 오래 동안 메모리에 유지됩니다.
부호 있는 정수
30
1 ~ MAXINT
초
아니오
autoup이 0보다 작거나 같으면 30으로 재설정되고 경고 메시지가 표시됩니다. 이 검사는 부트 시에만 수행됩니다.
autoup은 tune_t_fsflushr의 정수 배수여야 합니다. autoup은 적어도 tune_t_fsflushr 값의 6배가 되어야 합니다. 그렇지 않을 경우 fsflush가 호출될 때마다 지나치게 많은 양의 메모리가 검색됩니다.
dopageflush가 0이 아닐 경우 총 시스템 페이지 수에 tune_t_fsflushr을 곱한 값이 autoup보다 크거나 같아야 메모리가 검사됩니다.
다음은 autoup이나 tune_t_fsflushr 또는 둘 다를 변경해야 할 수도 있는 몇 가지 경우입니다.
많은 양의 메모리가 있는 시스템 - 이 경우 autoup을 늘리면 각 fsflush 호출 시 검색되는 메모리의 양이 줄어듭니다.
최소한의 메모리 요구량이 있는 시스템 - autoup과 tune_t_fsflushr을 모두 늘리면 검색 횟수가 줄어듭니다. 또한 현재 autoup/tune_t_fsflushr 비율을 유지하려는 경우에도 autoup을 늘려야 합니다.
다수의 임시 파일이 있는 시스템(예: 메일 서버 또는 소프트웨어 빌드 시스템) - 다수의 파일이 만들어진 후 삭제되는 경우 fsflush로 인해 이러한 파일에 대한 데이터 페이지를 디스크에 쓰는 작업이 불필요하게 발생할 수 있습니다.
불안정
fsflush를 호출하는 동안 수정된 페이지가 있는지 메모리를 검사할지 여부를 제어합니다. 각 fsflush 호출 시 시스템에 있는 물리적 메모리 페이지의 수가 확인됩니다. 이 수치는 동적 재구성 작업으로 인해 변경될 수도 있습니다. 각 호출은 총 페이지 수 x tune_t_fsflushr / autoup 페이지라는 알고리즘을 사용하여 검색을 수행합니다.
부호 있는 정수
1(사용)
0(사용 안함) 또는 1(사용)
토글(설정/해제)
예
없음
시스템 페이지 스캐너를 거의 실행하지 않는 경우 vmstat 출력의 sr 열에 0 값이 나타납니다.
불안정
fsflush 호출 중 파일 시스템 메타 데이터 동기화가 실행되는지 여부를 제어합니다. 이 동기화는 N번째 fsflush 호출 시마다 수행됩니다. 여기서 N = (autoup/tune_t_fsflushr)입니다. 이 알고리즘은 정수 나누기이므로 tune_t_fsflushr이 autoup보다 크면 매 fsflush 호출 시마다 동기화가 수행됩니다. 이는 해당 반복 횟수가 N보다 크거나 같은지 확인하기 위해 코드 검사가 수행되기 때문입니다. N은 fsflush가 호출될 때 한 번 계산됩니다. 따라서 나중에 tune_t_fsflushr이나 autoup을 변경하더라도 동기화 작업 빈도에 아무런 영향도 주지 않습니다.
부호 있는 정수
1(사용)
0(사용 안함) 또는 1(사용)
토글(설정/해제)
예
없음
일정 기간 동안 파일이 자주 수정되고 비우기로 인한 부하로 인해 시스템 동작에 문제가 생기는 경우에 변경합니다.
TMPFS 파일 시스템(예: /tmp)에서 시스템 재부트가 더 잘 유지될 경우 파일의 존재 여부와 파일 상태의 일관성은 문제가 되지 않습니다. mount -noatime 옵션을 사용하여 시스템의 Inode 트래픽을 줄일 수 있습니다. 이 옵션은 파일이 액세스될 때 inode 업데이트가 수행되지 않도록 합니다.
실시간 처리에 참여하는 시스템의 경우 이 옵션을 사용 안함으로 설정하고 명시적 응용 프로그램 파일 동기화를 사용하여 일관성을 달성할 수도 있습니다.
불안정