답변:
ZFS 코드는 procfs를 통해 다양한 통계를보고합니다. 아크에서의 크기, 모양을 결정하기 /proc/spl/kstat/zfs/arcstats위한 (procfs의 가정은 통상적으로 상 / PROC 장착) 특이 값 c, c_max및 size. ( Oracle 커뮤니티 포럼의이 게시물을 참조하십시오 . Oracle 사이트를 사용할 수없는 경우 대체 인터넷 아카이브 사본 .)
c는 IS 목표 크기 (바이트)의 ARCc_max바이트 단위의 ARC 의 최대 크기 입니다.size바이트 단위의 ARC 의 현재 크기 입니다.ARC의 최대 크기는 zfs_arc_max=N매개 변수를 zfs모듈 에 전달 (modprobe를 통해)합니다 (여기서 N최대 ARC 크기는 바이트 단위 임). 또는 새 최대 크기를 바이트 단위로 쓰면 즉석에서 조정할 수 있습니다 /sys/module/zfs/parameters/zfs_arc_max.
때문에 방법의 리눅스에 ZFS가 구현되면, ARC 메모리 동작합니다 캐시 메모리 등 (시스템 메모리 압력을 받고 오는 경우 예를 들어, 축출되어)되지만 집계 일반 메모리 할당과 같은 커널. 현재 시스템 워크로드에서 예상되는 것보다 사용 가능한 메모리가 훨씬 적은 것처럼 보이지만 이는 정상적인 혼동으로 이어질 수 있습니다.
ARC 크기를 MB 단위로 얻으려면 다음과 같은 것을 사용할 수 있습니다 awk '/^size/ { print $1 " " $3 / 1048576 }' < /proc/spl/kstat/zfs/arcstats. (1,048,576은 메가 바이트의 바이트 수입니다.)
예를 들어, ZFS를 거의 독점적으로 사용하는 시스템에서보고 할 수 있습니다.
$ free -m
total used free shared buffers cached
Mem: 32194 17948 14245 0 158 982
-/+ buffers/cache: 16808 15386
Swap: 49152 0 49152
$ awk '/^size/ { print $1 " " $3 / 1048576 }' < /proc/spl/kstat/zfs/arcstats
size 8138.73
$
이는 현재 상주하는 프로세스 의 실제 메모리 사용량이 약 8,669MB (16,808MB가 8,139MB 감소)임을 의미합니다.
마이클 Kjörling의 대답에 구축하기 위해, 당신은 또한 사용할 수 있습니다 arc_summary.py .
다음은 ARC가 데스크탑 메모리의 절반을 어떻게 사용하고 있는지 확인할 수 있습니다.
root @ host : ~ # 무료 -g
캐시 된 총 사용 가능한 공유 버퍼
멤 : 62 56 6 1 1 5
-/ + 버퍼 / 캐시 : 49 13
스왑 : 7 0 7
root @ host : ~ # arc_summary.py
-------------------------------------------------- ----------------------
ZFS 하위 시스템 보고서 Fri Feb 24 19:44:20 2017
아크 요약 : (건강)
메모리 스로틀 수 : 0
아크 기타 :
삭제 : 1.33m
뮤텍스 미스 : 99
퇴장 건너 뛰기 : 99
아크 크기 : 98.13 % 30.80 GiB
목표 크기 : (적응) 100.00 % 31.39 GiB
최소 크기 (하드 제한) : 0.10 % 32.00 MiB
최대 크기 (높은 물) : 1004 : 1 31.39 GiB
아크 크기 분석 :
최근에 사용한 캐시 크기 : 84.25 % 26.45 GiB
자주 사용되는 캐시 크기 : 15.75 % 4.95 GiB
아크 해시 분석 :
최대 요소 : 1.11m
현재 요소 : 53.48 % 592.56k
충돌 : 763.42k
체인 최대 : 4
체인 : 19.62k
ARC 총 출입 : 36.34m
캐시 적중률 : 87.02 % 31.62m
캐시 미스 비율 : 12.98 % 4.72m
실제 타격 비율 : 84.78 % 30.81m
데이터 수요 효율성 : 93.49 % 24.22m
데이터 프리 페치 효율 : 2.57 % 819.12k
캐시 목록 별 캐시 :
익명으로 사용 : 2.27 % 716.60k
가장 최근에 사용한 : 17.26 % 5.46m
가장 많이 사용되는 품목 : 80.17 % 25.35m
가장 최근에 사용한 유령 : 0.19 % 60.25k
가장 자주 사용되는 유령 : 0.11 % 35.37k
데이터 유형별 캐시 :
수요 데이터 : 71.60 % 22.64m
프리 페치 데이터 : 0.07 % 21.04k
수요 메타 데이터 : 25.82 % 8.16m
프리 페치 메타 데이터 : 2.51 % 794.39k
데이터 유형별로 캐시 누락 :
수요 데이터 : 33.44 % 1.58m
프리 페치 데이터 : 16.92 % 798.09k
수요 메타 데이터 : 48.90 % 2.31m
프리 페치 메타 데이터 : 0.75 % 35.27k
DMU 프리 페치 효율 : 173.06m
적중률 : 86.14 % 149.07m
미스 비율 : 13.86 % 23.99m
ZFS 조정 가능 :
metaslab_debug_load 0
zfs_arc_min_prefetch_lifespan 0
zfetch_max_streams 8
zfs_nopwrite_enabled 1
zfetch_min_sec_reap 2
zfs_dbgmsg_enable 0
zfs_dirty_data_max_max_percent 25
zfs_arc_p_aggressive_disable 1
spa_load_verify_data 1
zfs_zevent_cols 80
zfs_dirty_data_max_percent 10
zfs_sync_pass_dont_compress 5
l2arc_write_max 8388608
zfs_vdev_scrub_max_active 2
zfs_vdev_sync_write_min_active 10
zvol_prefetch_bytes 131072
metaslab_aliquot 524288
zfs_no_scrub_prefetch 0
zfs_arc_shrink_shift 0
zfetch_block_cap 256
zfs_txg_history 0
zfs_delay_scale 500000
zfs_vdev_async_write_active_min_dirty_percent 30
metaslab_debug_unload 0
zfs_read_history 0
zvol_max_discard_blocks 16384
zfs_recover 0
l2arc_headroom 2
zfs_deadman_synctime_ms 1000000
zfs_scan_idle 50
zfs_free_min_time_ms 1000
zfs_dirty_data_max 6741298790
zfs_vdev_async_read_min_active 1
zfs_mg_noalloc_threshold 0
zfs_dedup_prefetch 0
zfs_vdev_max_active 1000
l2arc_write_boost 8388608
zfs_resilver_min_time_ms 3000
zfs_vdev_async_write_max_active 10
zil_slog_limit 1048576
zfs_prefetch_disable 0
zfs_resilver_delay 2
metaslab_lba_weighting_enabled 1
zfs_mg_fragmentation_threshold 85
l2arc_feed_again 1
zfs_zevent_console 0
zfs_immediate_write_sz 32768
zfs_dbgmsg_maxsize 4194304
zfs_free_leak_on_eio 0
zfs_deadman_enabled 1
metaslab_bias_enabled 1
zfs_arc_p_dampener_disable 1
zfs_object_mutex_size 64
zfs_metaslab_fragmentation_threshold 70
zfs_no_scrub_io 0
metaslabs_per_vdev 200
zfs_dbuf_state_index 0
zfs_vdev_sync_read_min_active 10
metaslab_fragmentation_factor_enabled 1
zvol_inhibit_dev 0
zfs_vdev_async_write_active_max_dirty_percent 60
zfs_vdev_cache_size 0
zfs_vdev_mirror_switch_us 10000
zfs_dirty_data_sync 67108864
spa_config_path /etc/zfs/zpool.cache
zfs_dirty_data_max_max 16853246976
zfs_arc_lotsfree_percent 10
zfs_zevent_len_max 128
zfs_scan_min_time_ms 1000
zfs_arc_sys_free 0
zfs_arc_meta_strategy 1
zfs_vdev_cache_bshift 16
zfs_arc_meta_adjust_restarts 4096
zfs_max_recordsize 1048576
zfs_vdev_scrub_min_active 1
zfs_vdev_read_gap_limit 32768
zfs_arc_meta_limit 0
zfs_vdev_sync_write_max_active 10
l2arc_norw 0
zfs_arc_meta_prune 10000
metaslab_preload_enabled 1
l2arc_nocompress 0
zvol_major 230
zfs_vdev_aggregation_limit 131072
zfs_flags 0
spa_asize_inflation 24
zfs_admin_snapshot 0
l2arc_feed_secs 1
zio_taskq_batch_pct 75
zfs_sync_pass_deferred_free 2
zfs_disable_dup_eviction 0
zfs_arc_grow_retry 0
zfs_read_history_hits 0
zfs_vdev_async_write_min_active 1
zfs_vdev_async_read_max_active 3
zfs_scrub_delay 4
zfs_delay_min_dirty_percent 60
zfs_free_max_blocks 100000
zfs_vdev_cache_max 16384
zio_delay_max 30000
zfs_top_maxinflight 32
ignore_hole_birth 1
spa_slop_shift 5
zfs_vdev_write_gap_limit 4096
spa_load_verify_metadata 1
spa_load_verify_maxinflight 10000
l2arc_noprefetch 1
zfs_vdev_scheduler noop
zfs_expire_snapshot 300
zfs_sync_pass_rewrite 2
zil_replay_disable 0
zfs_nocacheflush 0
zfs_arc_max 0
zfs_arc_min 0
zfs_read_chunk_size 1048576
zfs_txg_timeout 5
zfs_pd_bytes_max 52428800
l2arc_headroom_boost 200
zfs_send_corrupt_data 0
l2arc_feed_min_ms 200
zfs_arc_meta_min 0
zfs_arc_average_blocksize 8192
zfetch_array_rd_sz 1048576
zfs_autoimport_disable 1
zfs_arc_p_min_shift 0
zio_requeue_io_start_cut_in_line 1
zfs_vdev_sync_read_max_active 10
zfs_mdcomp_disable 0
zfs_arc_num_sublists_per_state 8
arc_summary되지 않음.py