Skip to content

Commit

Permalink
Merge pull request #542 from sandartchip/master
Browse files Browse the repository at this point in the history
 [#533] top์„ ํ†ตํ•ด ์‚ดํŽด๋ณด๋Š” ํ”„๋กœ์„ธ์Šค ์ •๋ณด
  • Loading branch information
ksy90101 authored Feb 27, 2021
2 parents 7f35c35 + 2614104 commit 1a15cf8
Showing 1 changed file with 65 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
๋ฆฌ๋ˆ…์Šค์—๋Š” ์‹œ์Šคํ…œ์˜ ์ƒํƒœ๋ฅผ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋ช…๋ น์ด ์žˆ๋‹ค.
top ๋ช…๋ น์€ ์‹œ์Šคํ…œ์˜ ์ƒํƒœ๋ฅผ ์ „๋ฐ˜์ ์œผ๋กœ ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

## 2-1 ์‹œ์Šคํ…œ์˜ ์ƒํƒœ ์‚ดํ”ผ๊ธฐ

top๋ช…๋ น์€ ์˜ต์…˜์—†์ด ์ž…๋ ฅํ•˜๋ฉด ์ฃผ์–ด์ง„ Interval(๊ธฐ๋ณธ 3์ดˆ)์œผ๋กœ ํ™”๋ฉด์„ ๊ฐฑ์‹ ํ•˜๋ฉด์„œ ์ •๋ณด๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.

![](https://images.velog.io/images/sandartchip/post/326e5119-7902-48ec-b543-9bd0ec1d206b/image.png)


### cf) top ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•œ ํ”„๋กœ์„ธ์Šค ์ •๋ณด

![](https://images.velog.io/images/sandartchip/post/78d7a382-65e5-495d-9ef2-989a66dbb78a/image.png)

### cf) ํ”„๋กœ์„ธ์Šค ์ƒํƒœ ์ฝ”๋“œ

![](https://images.velog.io/images/sandartchip/post/abae3b5d-99d8-484e-aa24-d4fbe10176be/image.png)
## 2-2. VIRT, RES, SHR


SHR์˜ ๊ตฌ์ฒด์ ์ธ ์˜ˆ์—๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ๋‹ค.
๋Œ€๋ถ€๋ถ„์˜ ๋ฆฌ๋ˆ…์Šค ํ”„๋กœ์„ธ์Šค๋“ค์€ glibc๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค glibc์˜ ๋‚ด์šฉ์„ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ ค์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ณต๊ฐ„ ๋‚ญ๋น„๋‹ค.

์ปค๋„์€ ์ด๋Ÿฐ ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•ด์„œ ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋ผ๋Š” ๊ฐœ๋…์„ ๋„์ž…ํ–ˆ๊ณ , ๋‹ค์ˆ˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ์˜ฌ๋ ค์„œ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋„๋ก ๊ตฌํ˜„ํ–ˆ๋‹ค.

VIRT๋Š” ์‹ค์ œ๋กœ๋Š” ํ• ๋‹น๋˜์ง€ ์•Š์€ ๊ฐ€์ƒ์˜ ๊ณต๊ฐ„์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๊ฐ’์ด ํฌ๋‹ค๊ณ  ํ•ด๋„ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค.

์‹ค์ œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋Š” RES ์˜์—ญ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ ์ ์œ ์œจ์ด ๋†’์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ๋Š” RES ์˜์—ญ์ด ๋†’์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฐพ์•„์•ผ ํ•œ๋‹ค.

### cf) ํ”„๋กœ์„ธ์Šค ์ƒํƒœ ๋ณ€ํ™”

![](https://images.velog.io/images/sandartchip/post/7439ed50-bef9-4a59-90ba-0a51de40dfbd/image.png)
(์ด๋ฏธ์ง€ ์ถœ์ฒ˜:https://jihooyim1.gitbooks.io/linuxbasic/content/contents/02.html)

- ๋จผ์ €, Uninterruptible sleep ์ƒํƒœ (D ์ƒํƒœ)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.
ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋””์Šคํฌ ํ˜น์€ ๋„คํŠธ์›Œํฌ ์ž‘์—…์„ ํ•˜๊ฒŒ ๋˜๋ฉด ๋””์Šคํฌ ๋””๋ฐ”์ด์Šค ํ˜น์€ ๋„คํŠธ์›Œํฌ ๋””๋ฐ”์ด์Šค์— ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค.
๋””์Šคํฌ๋ฅผ ์˜ˆ๋กœ ๋“ ๋‹ค๋ฉด ์–ด๋Š ๋ธ”๋ก์— ์žˆ๋Š” ์–ด๋Š ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
ํ”„๋กœ์„ธ์Šค์˜ ์ž…์žฅ์—์„œ ๋ณด๋ฉด ๋ณด๋‚ธ ์š”์ฒญ์ด ๋„์ฐฉํ•  ๋•Œ๊นŒ์ง€ ์•„๋ฌด๊ฒƒ๋„ ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—, CPU์— ๋Œ€ํ•œ ์‚ฌ์šฉ๊ถŒ์„ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ๋„˜๊ธฐ๊ณ  ์ž์‹ ์„ UNINTERRUPTIBLE ์ƒํƒœ๋กœ ๋งˆํ‚นํ•œ ํ›„ ๋Œ€๊ธฐ ์ƒํƒœ๋กœ ๋น ์ง„๋‹ค. ์ด๋ ‡๊ฒŒ ์š”์ฒญ ํ›„์— ๊ทธ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ ค์•ผํ•˜๋Š” ์ƒํƒœ๋ฅผ Uniterruptible sleep ์ƒํƒœ, ์ฆ‰ D ์ƒํƒœ๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.

- ๋ฐ˜๋ฉด์— sleep() ์‹œ์Šคํ…œ ์ฝœ ๋“ฑ์„ ํ˜ธ์ถœํ•ด์„œ ํƒ€์ด๋จธ๋ฅผ ์ž‘๋™์‹œํ‚ค๊ฑฐ๋‚˜, ์ฝ˜์†” ์ž…๋ ฅ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์€ Interruptible sleep ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.
์ด ์ƒํƒœ๋Š” ํŠน์ • ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ๊ฐ€ ์•„๋‹ˆ๋ฉฐ, ์–ธ์ œ ์–ด๋–ป๊ฒŒ ์‹œ๊ทธ๋„์ด ๋“ค์–ด์˜ฌ์ง€ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์–ธ์ œ๋“  ์‹œ๊ทธ๋„์„ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก Interruptible ์ƒํƒœ๋กœ ๋งˆํ‚นํ•˜๊ณ  ๋Œ€๊ธฐ์ƒํƒœ์— ๋น ์ง„๋‹ค. ์ด๋•Œ์˜ ์ƒํƒœ๋ฅผ S์ƒํƒœ๋ผ๊ณ  ํ•œ๋‹ค.

- ์‚ฌ์‹ค S์ƒํƒœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋งŽ์€ ๊ฒƒ์€ ์‹œ์Šคํ…œ์— ํฐ ์˜ํ–ฅ์„ ๋ผ์น˜์ง€ ์•Š๋Š”๋‹ค.
ํ•˜์ง€๋งŒ D์ƒํƒœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋งŽ์œผ๋ฉด ํŠน์ • ์š”์ฒญ์ด ๋๋‚˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋งŽ๋‹ค๋Š” ๋œป์ด๊ณ , ์ด ํ”„๋กœ์„ธ์Šค๋“ค์€ ์š”์ฒญ์ด ๋๋‚˜๋ฉด R์ƒํƒœ๋กœ ๋‹ค์‹œ ๋Œ์•„๊ฐ€์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹œ์Šคํ…œ์˜ ๋ถ€ํ•˜๋ฅผ ๊ณ„์‚ฐํ•˜๋Š”๋ฐ ํฌํ•จ๋œ๋‹ค.

- ๊ทธ๋ ‡๋‹ค๋ฉด Z ์ƒํƒœ๋Š” ์–ด๋–ค ๊ฒฝ์šฐ์— ๋ฐœ์ƒํ• ๊นŒ?
๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋Š” fork()๋ฅผ ํ†ตํ•ด์„œ ๋งŒ๋“ค์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€๋ชจ์™€ ์ž์‹ ๊ด€๊ณ„๊ฐ€ ๋˜๊ณ , ๋ณดํ†ต ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋Š” ์ž์‹์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ๋œ๋‹ค.

#### ํ”„๋กœ์„ธ์Šค์˜ ์ƒ์„ฑ๊ณผ ์ข…๋ฃŒ
![](https://images.velog.io/images/sandartchip/post/fec14a68-7445-43ad-9376-09b6157a129f/image.png)
(์ด๋ฏธ์ง€ ์ถœ์ฒ˜:https://jihooyim1.gitbooks.io/linuxbasic/content/contents/02.html)


#### ์ข€๋น„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ
![](https://images.velog.io/images/sandartchip/post/e36cd50f-8c99-480e-b48d-cbdc46a0d59d/image.png)
(์ด๋ฏธ์ง€ ์ถœ์ฒ˜:https://jihooyim1.gitbooks.io/linuxbasic/content/contents/02.html)

์‚ฌ์‹ค ์ข€๋น„ ํ”„๋กœ์„ธ์Šค๋Š” ์‹œ์Šคํ…œ์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐจ์ง€ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ ์กด์žฌ ์ž์ฒด๋Š” ํฐ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค.
์Šค์ผ€์ค„๋Ÿฌ์— ์˜ํ•ด ์„ ํƒ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋‹น์—ฐํžˆ CPU๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ์ข€๋น„ ํ”„๋กœ์„ธ์Šค ์ž์ฒด๋Š” ์ด๋ฏธ ์‚ฌ์šฉ์ด ์ค‘์ง€๋œ ํ”„๋กœ์„ธ์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋„ ์•Š๋Š”๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์™œ ๋ฌธ์ œ๊ฐ€ ๋ ๊นŒ? ๋ฐ”๋กœ ์ข€๋น„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ ์œ ํ•˜๊ณ  ์žˆ๋Š” PID ๋•Œ๋ฌธ์ด๋‹ค.
์ข€๋น„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•œ PID๊ฐ€ ์ •๋ฆฌ๋˜์ง€ ์•Š๊ณ  ์Œ“์ด๋ฉด ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹นํ•  PID๊ฐ€ ๋ชจ์ž๋ผ๊ฒŒ ๋˜๊ณ , ์ด๋Š” ๊ฒฐ๊ตญ ๋”์ด์ƒ PID๋ฅผ ํ• ๋‹นํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ณ ๊ฐˆ์ƒํƒœ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.


์ฐธ๊ณ ์ž๋ฃŒ: https://jihooyim1.gitbooks.io/linuxbasic/content/contents/02.html

0 comments on commit 1a15cf8

Please sign in to comment.