troubleshooting

정승균·2021년 1월 3일
1

리눅스

목록 보기
28/29
post-thumbnail

Ⅰ. 주요 성능 수치


  • LoadAverage (LA) : 프로세스 대기큐의 길이(running + blocked). 1, 5, 15 분 3가지 수치의 추세를 봄
    LA > CPU 수 라면 대기하는 프로세스가 있다는 뜻
  • active memory : 최근에 사용한 메모리
  • inactive memory : 최근에 사용하지 않은 메모리
  • CPU user time : 계산 작업 시간
  • CPU system time : 하드웨어 관련 작업 시간
  • CPU waiting time : IO 관련 CPU 대기 시간
  • CPU idle time : CPU가 놀고 있는 시간

Ⅱ. /proc/loadavg

  • cat /proc/loadavg 로 직접 읽어 올 수 있음

  • LA 1, 5, 15 / running_process/total_process / last_pid

  • last_pid는 fork-bomb를 분석할때 쓰일 수 있음

root@jsg-ubuntu:~# cat /proc/loadavg
1.26 0.73 0.47 3/736 8145

Ⅲ. uptime


  • 현재 시간 / 시스템이 실행된 시간 / 로그인한 유저 수 / LA 1 , 5, 15
jsg@jsg-ubuntu:~$ uptime
13:22:27 up 0 min,  1 user,  load average: 0.72, 0.20, 0.07

Ⅳ. sar


  • sysstat 을 install 한 후 /etc/default/sysstat 에서 ENABLED="true" 로 설정해주자

  • -q 옵션을 주면 LA 관련 수치 기록을 볼 수 있음

root@jsg-ubuntu:~# sar -q
Linux 4.15.0-128-generic (jsg-ubuntu) 	2021년 01월 03일 	_x86_64_	(2 CPU)

13시 33분 40초  LINUX RESTART	(2 CPU)

              runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
                    0       736      0.47      0.55      0.37         0
                    0       735      0.81      1.00      0.69         0
평균:               0       736      0.64      0.78      0.53         0

Ⅴ. vmstat


  • virtual memory / cpu usage 확인 가능
jsg@jsg-ubuntu:~$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0   3852 1193436 143032 1341476    0    1   223    99  683 2100  9  9 82  0  0
  • -t : 시간도 같이 표시

  • -a : active/inactive memory 출력

  • -f : 포크 횟수

jsg@jsg-ubuntu:~$ vmstat -f
        44455 forks
  • -s : 통계 정보
jsg@jsg-ubuntu:~$ vmstat -s
      4015912 K total memory
      1342096 K used memory
      1466580 K active memory
       887324 K inactive memory
      1184800 K free memory
       143756 K buffer memory
      1345260 K swap cache
       998396 K total swap
         3852 K used swap
       994544 K free swap
        49074 non-nice user cpu ticks
          107 nice user cpu ticks
        47553 system cpu ticks
      1431187 idle cpu ticks
          685 IO-wait cpu ticks
            0 IRQ cpu ticks
         3689 softirq cpu ticks
            0 stolen cpu ticks
      1065613 pages paged in
       476268 pages paged out
           16 pages swapped in
          916 pages swapped out
      4423890 interrupts
     12240361 CPU context switches
   1609648413 boot time
        44465 forks

Ⅵ. top


  • table of process 각종 지표들을 볼 수 있음

  • top -b 로 실행하면 batch mode

  • top -p pid 로 실행하면 특정 pid만

top - 15:49:37 up  2:16,  1 user,  load average: 0.02, 0.03, 0.01
Tasks: 240 total,   3 running, 169 sleeping,   0 stopped,   1 zombie
%Cpu(s):  0.8 us,  0.7 sy,  0.0 ni, 98.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  4015912 total,  1183900 free,  1342840 used,  1489172 buff/cache
KiB Swap:   998396 total,   994544 free,     3852 used.  2432788 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND   
  1067 root      20   0  498632 115212  45768 R   1.3  2.9   1:02.87 Xorg
  3536 jsg       20   0 4780768 214520  54292 S   1.0  5.3   2:20.05 code
  2785 jsg       20   0  643308  56520  42220 S   0.7  1.4   0:14.12 gnome-terminal-
  1685 jsg       20   0   42888   3920   3480 S   0.3  0.1   0:00.06 dbus-daemon
  1700 jsg       20   0  206968   6296   5660 S   0.3  0.2   0:00.23 at-spi2-registr
  3366 jsg       20   0 4928888 123164  88700 S   0.3  3.1   0:03.75 code     
 44381 jsg       20   0   50276   3944   3212 R   0.3  0.1   0:01.67 top       
     1 root      20   0  119944   6068   4008 S   0.0  0.2   0:02.43 systemd   
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.02 kthreadd 
     4 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 kworker/0:0H
     6 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 mm_percpu_wq
     7 root      20   0       0      0      0 S   0.0  0.0   0:00.22 ksoftirqd/0
     8 root      20   0       0      0      0 R   0.0  0.0   0:05.23 rcu_sched 
     9 root      20   0       0      0      0 I   0.0  0.0   0:00.00 rcu_bh   
단축키설명
l맨 윗줄 toggle
Hthread toggle
ttask toggle
1Cpu별로 보기
mmemory toggle
e/E메모리 단위 변환
0task 중 수치가 0인 것들 숨김
iidle process숨김
L검색 기능
c명령어 자세히 보기
V부모 자식 관계 보기
xsort key column 강조
rrunning task 강조
b강조 부분 하이라이트
zcolor/mono toggle
Z색 커스텀 설정
f필드 커스텀 설정
Rreverse sorting
o/Ofilter 기능
=filter 해제
Ctrl-Ofilter 목록 보기
W설정 저장
spacebarrefresh
h도움말
q종료


Ⅶ. free


  • $ free [-m|g|h] : 개괄적인 메모리 정보를 알려줌

  • 가용 가능한 메모리는 free가 아니라 available임

  • buff : 메타 정보 / cache : 데이터 정보

jsg@jsg-ubuntu:~$ free
              total        used        free      shared  buff/cache   available
Mem:        4015904     1226864     1489916       36004     1299124     2431944
Swap:        998396      181760      816636

Ⅷ. /proc/meminfo


  • Active / Inactive : 최근 사용 / 오랫동안 사용 안함
  • anon / file : 디스크에 사본 존재 x / 디스크에 사본 존재
  • 메모리 부족시 LRU 알고리즘에 의해 inactive file < active file < inactive anon < active anon 순으로 우선 순위로 빼앗김
jsg@jsg-ubuntu:~$ cat /proc/meminfo
MemTotal:        4015904 kB
MemFree:         1513948 kB
MemAvailable:    2453496 kB
Buffers:          146092 kB
Cached:           976176 kB
SwapCached:         6156 kB
Active:          1286396 kB
Inactive:         693208 kB
Active(anon):     606976 kB
Inactive(anon):   280764 kB
Active(file):     679420 kB
Inactive(file):   412444 kB
...

0개의 댓글