IT 팁과 노하우/서버 & Linux

Linux / Ubuntu 시스템 점검 명령어 및 사전 설정 팁

잌쿠 2026. 4. 21. 00:00

익숙하지 않은 리눅스 서버를 점검할 때 명령어를 입력하려면 쉽지 않습니다.
특히 장애 상황에서는 어떤 명령어를 먼저 확인해야 하는지 판단하기 어려울 수 있습니다.

이번 글에서는 사전 설정부터 실제 점검 시 자주 사용하는 명령어까지,
실무에서 바로 활용할 수 있도록 정리했습니다.

 


1. 사전 설정

1.1 서버 시간 설정

timedatectl
sudo timedatectl set-timezone Asia/Seoul

확인 포인트

  • Time zone: Asia/Seoul
  • NTP 활성화 여부

NTP 설정 (권장)

sudo apt install chrony -y
sudo systemctl enable chrony
sudo systemctl start chrony

 

1.2 History 확장

echo 'HISTSIZE=10000' >> ~/.bashrc
echo 'HISTFILESIZE=20000' >> ~/.bashrc
echo 'HISTTIMEFORMAT="%F %T "' >> ~/.bashrc
source ~/.bashrc

사용 목적

  • 명령 실행 시간 추적
  • 장애 발생 직전 작업 확인

 

1.3 접속 이력 확인

last
w

사용 목적

  • 비인가 접속 여부 확인
  • 작업자 식별

 

1.4 audit 로그

설치

sudo apt install auditd -y

실행

sudo systemctl enable auditd
sudo systemctl start auditd

확인

ausearch -m execve

사용 목적

  • root 명령 실행 추적
  • 보안 사고 분석

 


2. 디스크 점검

언제 점검하는가

  • "No space left on device" 발생 시
  • 서비스 중단 또는 로그 기록 실패

 

2.1 용량 확인

df -h

확인 포인트

  • /, /var 사용률 90% 이상 시 위험

 

2.2 디렉토리 사용량

du -sh /* 2>/dev/null

목적

  • 용량을 많이 사용하는 디렉토리 식별

 

2.3 디스크 구조

lsblk
fdisk -l

사용 시점

  • 디스크 인식 문제 발생 시
  • 마운트 상태 확인

 

2.4 RAID 상태

cat /proc/mdstat

판단 기준

  • [UU] : 정상
  • [U_] : 디스크 장애 발생

 

2.5 SMART 상태

설치

sudo apt install smartmontools -y

확인

smartctl -a /dev/sda

중요 항목

  • Reallocated_Sector_Ct
  • Current_Pending_Sector

 


3. 프로세스 점검

언제 점검하는가

  • CPU 사용률 급증
  • 서버 응답 지연
  • load average 증가

 

3.1 전체 상태

top

확인 항목

  • load average
  • CPU 점유율
  • 메모리 사용량

 

3.2 htop (권장)

설치

sudo apt install htop -y

실행

htop

장점

  • 프로세스 정렬 및 필터링 가능
  • 시각적으로 확인이 용이

 

3.3 특정 프로세스 확인

ps -ef | grep 프로세스명

3.4 프로세스 종료

kill -9 PID
pkill -f 프로세스명

주의사항

  • DB 및 system process는 강제 종료 금지

 


4. 네트워크 점검

언제 점검하는가

  • 서비스 접속 불가
  • 외부 통신 실패

 

4.1 연결 확인

ping -c 4 8.8.8.8

판단

  • 실패 시 네트워크 또는 라우팅 문제

 

4.2 DNS 확인

ping google.com

판단

  • IP는 정상, 도메인 실패 시 DNS 문제

 

4.3 경로 추적

설치

sudo apt install traceroute -y

실행

traceroute google.com

 

4.4 속도 측정

설치

sudo apt install speedtest-cli -y

실행

speedtest

 

4.5 포트 확인

ss -tulnp

목적

  • 서비스 LISTEN 상태 확인

 

4.6 네트워크 재시작

# 현재 네트워크 렌더러 확인
cat /etc/netplan/*.yaml

# renderer 값 확인
# NetworkManager 또는 networkd

# NetworkManager 사용 시 재시작
sudo systemctl restart NetworkManager

# systemd-networkd 사용 시 재시작
sudo systemctl restart systemd-networkd

# netplan 설정 적용 (networkd 환경에서 주로 사용)
sudo netplan apply

# 현재 어떤 서비스가 활성인지 확인
systemctl status NetworkManager
systemctl status systemd-networkd

주의사항

  • SSH 접속 중일 경우 세션이 끊길 수 있음

 

4.7 방화벽 확인

iptables -L -n
ufw status
firewall-cmd --list-all

 


5. 로그 점검

언제 점검하는가

  • 원인 불명 장애 발생 시
  • 서비스 비정상 종료

 

5.1 시스템 로그

journalctl -xe

 

5.2 커널 로그

dmesg | tail

확인 대상

  • 디스크 오류
  • 메모리 오류

 

5.3 서비스 로그

Apache

tail -f /var/log/apache2/error.log

Tomcat

tail -f /var/log/tomcat*/catalina.out

Docker

docker logs -f 컨테이너ID

 


 

6. 커널 문제

언제 점검하는가

  • 재부팅 이후 장애 발생
  • GPU 서버에서 드라이버 문제 발생 시

 

주요 원인

  • DKMS 빌드 실패
  • 드라이버 충돌 (특히 NVIDIA)
  • 커널 버전 불일치

 

이전 커널 부팅

  • GRUB → Advanced options → 이전 커널 선택

 

기본 커널 설정

grep menuentry /boot/grub/grub.cfg
sudo nano /etc/default/grub
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.x.x"
sudo update-grub

 


실무용 초기 대응 명령어

date
uptime
df -h
df -i
free -m
top -b -n1 | head -20
ss -tulnp
journalctl -xe | tail -50
dmesg | tail -50

 

패키지 정리

기능 패키지
시간 동기화 chrony
감사 로그 auditd
디스크 상태 smartmontools
프로세스 htop
네트워크 경로 traceroute
속도 측정 speedtest-cli

 

운영 관점 핵심 포인트

  • /var 파티션 분리 권장 (로그 폭증 대비)
  • logrotate 설정 필수
  • 커널 업데이트 전 사전 테스트 필수 (특히 GPU 서버)
  • 장애 대응 명령어는 스크립트로 관리 권장

 


 

장애 시 빠른 판단 기준

상황 우선 점검 1차 확인 명령어
서버 느림 CPU / 메모리 top, uptime, free -m
접속 불가 네트워크 / 포트 ss -tulnp, ping
특정 서비스 장애 프로세스 ps -ef, systemctl status
파일 생성 실패 디스크 df -h, df -i
재부팅 이후 문제 커널 uname -r, dmesg
원인 불명 로그 journalctl -xe

 

권장 점검 순서

디스크 → 프로세스 → 네트워크 → 서비스 → 로그

 

점검 시 원칙

각 단계에서 이상이 발견되면 다음 단계로 넘어가지 말고, 해당 영역을 우선적으로 상세 분석한다.

 


리눅스 서버 점검은 체계적으로 접근해야 빠르게 원인을 찾을 수 있습니다.
위 명령어들을 기준으로 점검 순서를 유지하면 장애 대응하는데 도움이 되시지 않을까 기대합니다.

그리고, 위의 사전 설정을 미리 적용해두면, 문제 발생 시 분석 시간이 크게 단축됩니다.