sudo echo ::memstat | sudo mdb -k
Usage Type/Subtype Pages Bytes %Tot %Tot/%Subt
---------------------------- ---------------- -------- ----- -----------
Kernel 291425 1.1g 17.5%
ZFS 844447 3.2g 50.7%
zfs가 3G를 초과하지만 최대 2G를 소비하도록 ARC를 설정했습니다.
cat /etc/system
set zfs:zfs_arc_max = 2147483648
set zfs:zfs_arc_min = 1073741824
물론 재부팅했습니다.
버전은 11.4 베타입니다.
답변1
zfs_arc_max
분명히 더 이상 사용되지 않습니다. 바라보다https://docs.oracle.com/cd/E53394_01/html/E54818/chapterzfs-3.html#scrolltoc:
ZFS 메모리 관리 매개변수
이 절에서는 ZFS 메모리 관리와 관련된 매개변수에 대해 설명합니다.
user_reserve_hint_pct
설명하다
애플리케이션 사용을 위해 예약된 메모리 양을 시스템에 알려 시간이 지남에 따라 캐시가 증가함에 따라 ZFS ARC 캐시에서 사용할 수 있는 메모리 양을 제한합니다.
이 매개변수를 사용하면 관리자는 향후 응용 프로그램 요구 사항에 사용할 수 있는 많은 양의 여유 메모리를 유지할 수 있습니다. user_reserve_hint_pct 매개변수는 ZFS ARC 캐시의 증가를 제한하기 위해 zfs_arc_max 매개변수를 대체하기 위한 것입니다.
주 - 이 매개변수 조정에 대한 지침은 MOS(My Oracle Support)의 문서 1663862.1, "Oracle Solaris 11.2의 ZFS와 응용 프로그램 간 메모리 관리"를 참조하십시오. 데이터 유형
부호 없는 정수(64비트)
기본
0
전용 시스템을 사용하여 알려진 메모리 공간으로 애플리케이션 세트를 실행하는 경우 이 매개변수를 Oracle 데이터베이스의 SGA 합계와 같은 해당 공간에 대한 값으로 설정하십시오.
매개변수에 값을 할당하려면 My Oracle Support(MOS)의 문서 1663862.1에 제공된 스크립트를 실행하십시오. 재부팅 후에도 조정 내용이 유지되도록 하려면 -p 옵션 사용에 대한 지침을 보려면 스크립트 출력을 참조하세요.
범위
0-99
단위
백분율
동적
예
실행 중인 시스템에서 이 매개변수의 설정을 동적으로 조정할 수 있습니다.
언제 바꿀까?
상향 조정의 경우 초기 값이 시간이 지남에 따라 애플리케이션 요구 사항을 충족하기에 충분하지 않다고 판단되거나 시스템에 대한 애플리케이션 요구가 증가하는 경우 값을 늘립니다. 계획된 시스템 유지 관리 기간 동안에만 이 조정을 수행하십시오. 이 값을 변경한 후 시스템을 다시 시작하십시오.
하향 조정의 경우 애플리케이션 요구 사항이 허용하는 경우 값을 줄이십시오. 이 값을 한 번에 5% 이하로 조금만 줄여야 합니다.
헌신 수준
불안정한
...
zfs_arc_max
설명하다
ZFS ARC(적응형 교체 캐시)의 최대 크기를 결정합니다.그러나 참조하십시오
user_reserve_hint_pct
.
제 생각에는 이것은 엄청난 퇴보입니다. 엄격한 제한은 순수한 "팁"으로 대체됩니다. 아주 아주 좋은 이유가 있을 수 있습니다.딱딱한한계.
(문서화되지 않은 ARC 하드 제한이 실제로 있는지 궁금합니다. Sun/Oracle은 ZFS와 유사한 작업을 수행한 이력이 있습니다. "ZFS는 디스크에서 항상 일관성이 있습니다! fsck
디버깅 도구가 필요하지 않습니다. 아니요, 우리가 말했다. 하지 않을 것이다.아 왜 우리를 못믿어요? ! ? !아, 음, 아아, 네, 여기 있습니다 zdb
. 우리는 수년 동안 내부적으로 사용해 왔기 때문에 꽤 성숙해졌습니다...")