요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
NUMA policy and effectiveness
sysfs-kernel-mm-ksm:46-61NUMA nodes 사이 merge 허용 여부와 KSM의 overall effectiveness를 나타내는 general profit를 제공합니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
1
What: /sys/kernel/mm/ksm
2
Date: September 2009
3
KernelVersion: 2.6.32
4
Contact: Linux memory management mailing list <[email protected]>
5
Description: Interface for Kernel Samepage Merging (KSM)
7
What: /sys/kernel/mm/ksm/full_scans
8
What: /sys/kernel/mm/ksm/pages_shared
9
What: /sys/kernel/mm/ksm/pages_sharing
10
What: /sys/kernel/mm/ksm/pages_to_scan
11
What: /sys/kernel/mm/ksm/pages_unshared
12
What: /sys/kernel/mm/ksm/pages_volatile
13
What: /sys/kernel/mm/ksm/run
14
What: /sys/kernel/mm/ksm/sleep_millisecs
15
Date: September 2009
16
Contact: Linux memory management mailing list <[email protected]>
17
Description: Kernel Samepage Merging daemon sysfs interface
19
full_scans: how many times all mergeable areas have been
20
scanned.
22
pages_shared: how many shared pages are being used.
24
pages_sharing: how many more sites are sharing them i.e. how
25
much saved.
27
pages_to_scan: how many present pages to scan before ksmd goes
28
to sleep.
30
pages_unshared: how many pages unique but repeatedly checked
31
for merging.
33
pages_volatile: how many pages changing too fast to be placed
34
in a tree.
36
run: write 0 to disable ksm, read 0 while ksm is disabled.
38
- write 1 to run ksm, read 1 while ksm is running.
39
- write 2 to disable ksm and unmerge all its pages.
41
sleep_millisecs: how many milliseconds ksm should sleep between
42
scans.
44
See Documentation/mm/ksm.rst for more information.
46
What: /sys/kernel/mm/ksm/merge_across_nodes
47
Date: January 2013
48
KernelVersion: 3.9
49
Contact: Linux memory management mailing list <[email protected]>
50
Description: Control merging pages across different NUMA nodes.
52
When it is set to 0 only pages from the same node are merged,
53
otherwise pages from all nodes can be merged together (default).
55
What: /sys/kernel/mm/ksm/general_profit
56
Date: April 2023
57
KernelVersion: 6.4
58
Contact: Linux memory management mailing list <[email protected]>
59
Description: Measure how effective KSM is.
60
general_profit: how effective is KSM. The formula for the
61
calculation is in Documentation/admin-guide/mm/ksm.rst.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Kernel ksm
1-6| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/kernel/mm/ksm |
| Date | 2009년 9월 |
| KernelVersion | 2.6.32 |
| Contact | Linux memory management mailing list <[email protected]> |
| Description | Kernel Samepage Merging(KSM) interface입니다. |
Kernel full scans
7-45| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/kernel/mm/ksm/full_scans |
| What 2 | /sys/kernel/mm/ksm/pages_shared |
| What 3 | /sys/kernel/mm/ksm/pages_sharing |
| What 4 | /sys/kernel/mm/ksm/pages_to_scan |
| What 5 | /sys/kernel/mm/ksm/pages_unshared |
| What 6 | /sys/kernel/mm/ksm/pages_volatile |
| What 7 | /sys/kernel/mm/ksm/run |
| What 8 | /sys/kernel/mm/ksm/sleep_millisecs |
| Date | 2009년 9월 |
| Contact | Linux memory management mailing list <[email protected]> |
| Description | KSM daemon sysfs interface입니다. `full_scans`는 모든 mergeable areas를 scan한 횟수, `pages_shared`는 사용 중인 shared pages 수, `pages_sharing`은 이 pages를 공유하는 추가 sites 수이자 절약량, `pages_to_scan`은 `ksmd`가 sleep하기 전 scan할 present pages 수입니다. `pages_unshared`는 unique하지만 merge 여부를 반복 검사한 pages, `pages_volatile`은 너무 빨리 변경되어 tree에 넣을 수 없는 pages 수입니다. `run`에 `0`을 쓰면 KSM을 disable하고 disabled 중 읽으면 `0`, `1`을 쓰면 run하고 running 중 읽으면 `1`, `2`를 쓰면 KSM을 disable하고 모든 pages를 unmerge합니다. `sleep_millisecs`는 scans 사이 KSM sleep milliseconds입니다. 자세한 내용은 `Documentation/mm/ksm.rst`를 참조합니다. |
AttributeMeaning
full_scansComplete mergeable-area scans
pages_sharedShared pages in use
pages_sharingAdditional sharing sites and saved pages
pages_to_scanPresent pages before ksmd sleeps
pages_unsharedUnique pages repeatedly checked
pages_volatilePages changing too fast for the tree
sleep_millisecsMilliseconds between scans
Scan effort, sharing benefit과 merge 후보 상태를 함께 관찰합니다.
ValueEffectReadback
0Disable KSM0 while disabled
1Run KSM1 while running
2Disable KSM and unmerge all pagesMode action
Run value가 daemon과 merged pages의 상태를 결정합니다.
Kernel merge across nodes
46-54| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/kernel/mm/ksm/merge_across_nodes |
| Date | 2013년 1월 |
| KernelVersion | 3.9 |
| Contact | Linux memory management mailing list <[email protected]> |
| Description | 서로 다른 NUMA nodes 사이의 page merging을 제어합니다. `0`이면 같은 node의 pages만 merge하며, 그 밖의 값이면 모든 nodes의 pages를 함께 merge합니다. 후자가 default입니다. |
Kernel general profit
55-61| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/kernel/mm/ksm/general_profit |
| Date | 2023년 4월 |
| KernelVersion | 6.4 |
| Contact | Linux memory management mailing list <[email protected]> |
| Description | KSM의 effectiveness를 측정합니다. `general_profit` 계산 formula는 `Documentation/admin-guide/mm/ksm.rst`에 있습니다. |
Daemon controls and sharing counters
sysfs-kernel-mm-ksm:1-45KSM daemon의 scan cadence, shared·sharing·unshared·volatile page counters와 disable/run/unmerge modes를 제공합니다.