답변:
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