Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
J
joohanhong
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
JooHan Hong
joohanhong
Commits
b615a9fd
Commit
b615a9fd
authored
2 years ago
by
JooHan Hong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
numa overview init
parent
bff7a06e
master
No related merge requests found
Pipeline
#5726
passed with stages
in 1 minute and 15 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
76 additions
and
0 deletions
+76
-0
README.md
OS/TUNING/INFLUXDB/NUMA/README.md
+76
-0
No files found.
OS/TUNING/INFLUXDB/NUMA/README.md
0 → 100644
View file @
b615a9fd
[

](https://www.hongsnet.net)
# NUMA 구성 Review
!참고 :
`numactl 명령`
이 존재하지 않을 경우 다음과 같이 패키지를 설치해야 한다.
```
bash
# yum install nuamctl
```
이제 다음과 같이 현재 프로세스의 NUMA 정책 설정을 표시 하는데, 현재 서버 머신은 Total 32Core인 것을 확인할 수 있다.
```
bash
# numactl --show
policy: default
preferred node: current
physcpubind: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
cpubind: 0 1
nodebind: 0 1
membind: 0 1
```
추가적으로 NUMA H/W 정책도 같이 확인 한다. 현재 서버 머신은 Total 128GB의 메모리가 설치되어 있는 것을 알 수 있다.
```
bash
# numactl --hardware
available: 2 nodes
(
0-1
)
node 0 cpus: 0 1 2 3 4 5 6 7 16 17 18 19 20 21 22 23
node 0 size: 63916 MB
node 0 free: 1873 MB
node 1 cpus: 8 9 10 11 12 13 14 15 24 25 26 27 28 29 30 31
node 1 size: 64484 MB
node 1 free: 54 MB
node distances:
node 0 1
0: 10 21
1: 21 10
```
# numastat
`numastat 명령`
은 자주 사용되는 명령으로서, 다음과 같이 현재 각 필드 별 상태를 확인할 수 있다.
```
bash
# numastat
node0 node1
numa_hit 2303089960 5856080919
numa_miss 904157931 711940
numa_foreign 711940 904157931
interleave_hit 33473 32804
local_node 2303093653 5856042930
other_node 904154238 749929
```
참고적으로 위의 각 필드의 값은
**페이지의 개수**
이며, 결과적으로 node0에
`numa_hit`
가 많은 상태이기 때문에
**이를 특정 Node 또는 균등하게 할당되는 것이 Key Point**
이다.
# numastat Overview
*
numa_hit
> 해당 노드에 성공적으로 할당된 페이지의 수 이다.
*
numa_miss
> 원래 의도된 노드에 메모리가 부족하여, 다른 노드에 할당된 페이지의 수이다. `이 필드의 값이 낮으면 CPU 성능이 최적화 되어 있음을 의미` 한다.
*
numa_foreign
> 다른 노드에 할당하려 했으나, 처음에 의도된 노드에 할당된 페이지의 수이다. `이 필드의 값이 낮으면 CPU 성능이 최적화 되어 있음을 의미` 한다.
*
interleave_hit
> 노드별로 균등하게(RoundRobin), 메모리가 할당된 페이지의 수이다.
*
local_node
> 해당 노드의 프로세스에 의해 성공적으로 할당된 페이지 수이다. numa_hit의 값으로 봐도 무방하다.
*
other_node
> 다른 노드에서 실행된 프로세스에 의해 할당된 페이지의 수이다. numa_miss 값과는 다르며, 일반적으로 interleave 정책에서 이 값이 상승되는 것을 확인할 수 있다.
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment