[Setting | CentOS] 서버 자원 확인

서버의 자원을 확인 할 수 있는 명령들을 정리한다.


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


1> CPU 정보 확인

cat /proc/cpuinfo | more

2> CPU 코어수 확인

grep ^processor /proc/cpuinfo | wc -l

3> Memory 정보 확인

cat /proc/meminfo

4> Disk 정보 확인

df

# G 단위로 표시
df -h

5> HDD / SSD 확인

# 디스크 목록확인
fdisk -l
# 디스크 SSD 확인 (ssd의 경우 0, hdd의 경우 1)
cat /sys/block/{disk 볼륨명. ex> sda}/queue/rotational

[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'

[Source | C++] 변수명 정의 규칙

C++ 개발시 변수명을 아래와 같은 규칙으로 정의 해야 한다.


작성일 : 2022-03-14


* 중복된 변수이름은 사용할 수 없다
* 언더스코어(_)를 제외한 특수문자는 사용할 수 없다
* 숫자로 시작하는 변수명은 사용할 수 없다
* 변수명 길이에 제한은 없다
* 변수명은 대소문자를 구분하지만 프로그램시 혼동이 오므로 동일명은 사용하지 않도록한다.
* 키워드를 변수명으로 사용할 수 없다. ( [Source | C++] 키워드 목록 )