Tag Archives: 부하체크

[Setting | CentOS] 부하상태 확인

서비스 사용자 증가에 따라 서버는 많은 자원을 사용하게 된다. 이때 기본적인 부하상태 확인하는 명령들을 정리한다.

CPU 코어수 Memory 용량 도 확인하여 분석에 참고하자.


작성일 : 2022-03-24
OS : CentOS Linux release 7.6.1810


1> PID 값 확인

ps -ef | grep [구분명] | grep -v grep | awk '/[실행명]/ {print $2}'

# EX> tomcat pid
ps -ef | grep tomcat | grep -v grep | awk '/java/ {print $2}'

# EX> node application pid
ps -ef | grep opendocs | grep -v grep | awk '/node/ {print $2}'

2> thread 수 확인

ps uH p [PID] | wc -l

※ 쓰레드는 메모리를 증가시키므로 top 명령으로 체크가 필요


3> open file 수 확인

lsof -p [PID] | wc -l

※ 리눅스는 파일 단위로 소켓을 관리하므로 해당 프로세스가 열고있는 파일 수 체크가 필요


4> ulimit & prlimit (시스템 자원 사용제한) 설정값 확인

# 시스템 전체
ulimit -Hn
ulimit -Sn
# 특정 프로세스
prlimit --nofile --output RESOURCE,SOFT,HARD --pid [PID]

※ ulimit / prlimit 설정값 제한에 따라 open file 수가 제한됨


5> port 수 확인

# 전체 오픈된 포트
netstat -an | wc -l

# PORT 확인
netstat -an | grep [PORT] | wc -l

# IP로 확인
netstat -an | grep [IP] | wc -l

# 상태별 확인
netstat -ant | awk '{print $6}' | sort | uniq -c | sort -n

6> tcpdump 로 패킷확인

# 패킷목록
tcpdump -i eth0 dst [IP]
# 헤더정보
tcpdump -vvvs 1024 -l -A | egrep --line-buffered "^........(GET |HTTP\/|POST |HEAD )|^[A-Za-z0-9-]+: " | sed -r 's/^........(GET |HTTP\/|POST |HEAD )/\n\1/g'