
익숙하지 않은 리눅스 서버를 점검할 때 명령어를 입력하려면 쉽지 않습니다.
특히 장애 상황에서는 어떤 명령어를 먼저 확인해야 하는지 판단하기 어려울 수 있습니다.
이번 글에서는 사전 설정부터 실제 점검 시 자주 사용하는 명령어까지,
실무에서 바로 활용할 수 있도록 정리했습니다.
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 |
권장 점검 순서
디스크 → 프로세스 → 네트워크 → 서비스 → 로그
점검 시 원칙
각 단계에서 이상이 발견되면 다음 단계로 넘어가지 말고, 해당 영역을 우선적으로 상세 분석한다.
리눅스 서버 점검은 체계적으로 접근해야 빠르게 원인을 찾을 수 있습니다.
위 명령어들을 기준으로 점검 순서를 유지하면 장애 대응하는데 도움이 되시지 않을까 기대합니다.
그리고, 위의 사전 설정을 미리 적용해두면, 문제 발생 시 분석 시간이 크게 단축됩니다.
'IT 팁과 노하우 > 서버 & Linux' 카테고리의 다른 글
| 무료 가상화 솔루션 비교 XCP-ng/Proxmox VE/vSphere/Hyper-V/Oracle VirtualBox (1) | 2026.03.04 |
|---|---|
| 우분투 운영체제 보안패치 스크립트(USPS) (0) | 2025.06.03 |
| 리눅스에서 구현하는 간단한 메뉴 UI - whiptail 알아보기 (3) | 2025.06.03 |
| 리눅스 서버의 관리자 계정을 잊어버렸어요! (0) | 2024.11.16 |
| 자주쓰는 Linux/Ubuntu 명령어 (1) | 2024.11.13 |
