OS/Linux

[LINUX] πŸ“š λ””μŠ€ν¬ λͺ…λ Ήμ–΄ 정리 (df / du / iostat)

인파_ 2022. 2. 10. 21:48

λ¦¬λˆ…μŠ€μš”

λ¦¬λˆ…μŠ€ λ””μŠ€ν¬ λͺ…λ Ήμ–΄

 

λ””μŠ€ν¬ μ—¬μœ  μš©λŸ‰ 확인

 

df(Disk Free)

μ‹œμŠ€ν…œ 전체에 마운트 된 λ””μŠ€ν¬μ˜ μ—¬μœ  곡간을 좜λ ₯ν•œλ‹€.

νŒŒμΌμ‹œμŠ€ν…œ, λ””μŠ€ν¬ 크기, μ‚¬μš©λœ μš©λŸ‰, μ‚¬μš©κ°€λŠ₯ν•œ μš©λŸ‰, μ‚¬μš©λœ μš©λŸ‰μ˜ λΉ„μœ¨, 마운트된 지점을 μˆœμ„œλŒ€λ‘œ 보여쀀닀.

USBλ©”λͺ¨λ¦¬λ‚˜ SDμΉ΄λ“œμ˜ μ €μž₯곡간도 μ—¬κΈ°μ„œ 확인이 κ°€λŠ₯ν•˜λ‹€.

$ df # : λ””μŠ€ν¬ 남은 μš©λŸ‰ 확인 (κΈ°λ³Έ λͺ…λ Ήμ–΄)

$ df -k # : ν‚¬λ‘œλ°”μ΄νŠΈ λ‹¨μœ„λ‘œ 남은 μš©λŸ‰ 확인

$ df -m # : λ©”κ°€ λ°”μ΄νŠΈ λ‹¨μœ„λ‘œ 남은 μš©λŸ‰ 확인

$ df -h # : κΉ”λ”ν•˜κ²Œ λ³΄μ—¬μ€Œ

$ df . # : ν˜„μž¬ 디렉토리가 ν¬ν•¨λœ νŒŒν‹°μ…˜μ˜ 남은 μš©λŸ‰ 확인

λ””μŠ€ν¬μ—¬μœ μš©λŸ‰

λͺ…μΉ­ 의미
Filesystem λ¦¬λˆ…μŠ€μ— 마운트된 파일 μ‹œμŠ€ν…œ λͺ©λ‘
Size(1K-blocks) μ „μ²΄μš©λŸ‰
Used μ‚¬μš©λŸ‰
Available 남은 μš©λŸ‰
Use% μš©λŸ‰ λŒ€λΉ„ μ‚¬μš©λŸ‰μ— λŒ€ν•œ νΌμ„ΌνŠΈ
Mounted on 마운트 된 지점(경둜)

λ””μŠ€ν¬ μ‚¬μš©λŸ‰ 확인

 

du(Disk Usage)

ν•΄λ‹Ή 디렉토리(파일)의 λ””μŠ€ν¬ 크기확인 λͺ…λ Ήμ–΄ (λ¦¬λˆ…μŠ€λŠ” 파일기반으둜 객체λ₯Ό 관리함)

디렉토리 이름을 μ§€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ ν˜„μž¬ 경둜의 λͺ¨λ“  디렉토리(μ„œλΈŒ 디렉토리 포함) 크기λ₯Ό 좜λ ₯ν•œλ‹€

$ du # : ν˜„μž¬ λ””λ ‰ν† λ¦¬μ—μ„œ μ„œλΈŒ λ””λ ‰ν† λ¦¬κΉŒμ§€ μ‚¬μš©λŸ‰ 확인

$ du -a # : (all) ν•˜μœ„ 디렉토리에 ν¬ν•¨λœ νŒŒμΌκΉŒμ§€ λͺ¨λ“  파일의 μ‚¬μš©μ •λ³΄ μš©λŸ‰ ν‘œμ‹œ

$ du -s # : μ§€μ •ν•œ 디렉토리 내에 μ‘΄μž¬ν•˜λŠ” λͺ¨λ“  파일, μ„œλΈŒ λ””λ ‰ν† λ¦¬μ˜ 합을 λ³΄μ—¬μ€Œ

$ du -h # : κΉ”λ”ν•˜κ²Œ λ³΄μ—¬μ€Œ


$ du -s /home # : νŠΉμ • λ””λ ‰ν† λ¦¬μ˜ μ‚¬μš©λŸ‰ 확인

$ du -ah # : ν•˜μœ„λ””λ ‰ν† λ¦¬ μ•ˆμ— '각각'μš©λŸ‰ ν‘œμ‹œ

$ du –sh # : ν•˜μœ„ 디렉토리 없이 '전체'μš©λŸ‰ ν‘œμ‹œ

$ du –ah | sort –n –r | head –n 10 # : λ””μŠ€ν¬μš©λŸ‰μ΄ κ°€μž₯ 큰순으둜 10개 μ •λ ¬

λ””μŠ€ν¬μ‚¬μš©λŸ‰

  • μ™Όμͺ½μ€ 1k λΈ”λ‘λ‹¨μœ„λ‘œ μ‚¬μš©μš©λŸ‰ ν‘œμ‹œ 
  • 였λ₯Έμͺ½μ€ 디렉토리 경둜
  • λ””μŠ€ν¬μ˜ μ΅œμ†Œλ‹¨μœ„λŠ” 4kμ΄κΈ°λ•Œλ¬Έμ— μ™Όμͺ½μ— 4k인것은 빈 디렉토리 이닀.

home


λ””μŠ€ν¬ λͺ¨λ‹ˆν„°λ§

 

iostat (/usr/bin/iostat)

iostatλŠ” λ””μŠ€ν¬ μž…μΆœλ ₯ λŒ€ν•œ 톡계λ₯Ό λ³΄κ³ ν•˜κ³ 

μ²˜λ¦¬λŸ‰, μ‚¬μš©λ₯ , λŒ€κΈ°μ—΄ 길이, λ“œλžœμž­μ…˜ λΉ„μœ¨ 및 μ„œλΉ„μŠ€ μ‹œκ°„μ— λŒ€ν•œ μΈ‘μ • κ²°κ³Όλ₯Ό μ•Œμˆ˜ μžˆλŠ” ν”„λ‘œκ·Έλž¨μ΄λ‹€.

즉, CPU μƒνƒœμ™€ Disk device의 input/output 톡계 정보 확인할 수 μžˆλ‹€.

 

μ΄λ ‡κ²Œ κ°„λ‹¨ν•œ λͺ…λ Ήμ–΄ ν•œμ€„λ‘œ λ””μŠ€ν¬ 처리의 μž…μΆœλ ₯ 톡계 및 μ²˜λ¦¬λŸ‰, λŒ€κΈ°μ—΄ 길이등을 μ‹€μ‹œκ°„μœΌλ‘œ λͺ¨λ‹ˆν„°λ§ ν• μˆ˜ μžˆκ²Œλœλ‹€. κ·Έλž˜μ„œ μ‹œμŠ€ν…œμ— κ±Έλ¦¬λŠ” λΆ€ν•˜κ°€ ν¬κ±°λ‚˜ μ‹œμŠ€ν…œ μ„±λŠ₯이 λΆ€μ‘±ν•  경우, iostat λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜λ©΄ μ‹œμŠ€ν…œμ˜ 전체 μ„±λŠ₯을 νŒŒμ•…ν•˜μ—¬ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλ‹€

$ yum install sysstat # μ„Όν† μŠ€ iostat μ„€μΉ˜
$ sudo apt install sysstat # μš°λΆ„νˆ¬ iostat μ„€μΉ˜

$ istat [μ˜΅μ…˜] [좜λ ₯μ‹œκ°„] [횟수]

iostat
iostat
iostat
iostat

 

iostat μ˜΅μ…˜

iossta

# istat [μ˜΅μ…˜] [좜λ ₯μ‹œκ°„] [횟수]

$ iostat -d 3 # 3초 간격 Disk device 정보λ₯Ό 좜λ ₯.

$ iostat -c 3 # 3초 간격 CPU 정보λ₯Ό 좜λ ₯.

$ iostat -p /dev/μž₯치λͺ… # μ§€μ •λœ λ””μŠ€ν¬ μž₯치의 정보 좜λ ₯

$ iostat -x # ν™•μž₯된 톡계 정보λ₯Ό 좜λ ₯

$ iostat -xkdzt -p ALL 3 # 3초 간격 Disk device 정보λ₯Ό KBν˜•νƒœμ™€ νƒ€μž„μŠ€νƒ¬ν”„λ₯Ό ν•¨κ»˜ 좜λ ₯. (μ΄λ•Œ idle diskλŠ” 좜λ ₯ X)

# 참고자료

https://uzihoon.com/post/831cf540-adf4-11ea-b011-b113e86828fc

https://pearlluck.tistory.com/129

https://server-talk.tistory.com/49