OS 명령어
# CPU 정보확인
$ sudo dmidecode -t bios # bios 정보
$ sudo dmidecode -t system # system 정보
$ sudo dmidecode -t processor # CPU 정보
$ sudo dmidecode -t memory # memory 정보
# disk 정보확인
$ df -h # 디스크 정보
$ sudo smartctl -a /dev/nvme0n1p1 # 파티션 정보
# network 정보확인
$ lspci | grep -i ether # 네트워크 카드 모델정보
$ ethtool -g eth0 # 네트워크 카드 Ring Buffer 정보
$ ethtool -k eth0 # 네트워크 카드 옵션정보
$ ethtool -i eth0 # 네트워크 카드 드라이버 정보
# 프로세스 확인
$ sudo top -b -n 1 # 서버 프로세스 전체정보
$ sudo sysctl -a | grep -i "pid_max" # 생성 가능한 PID수 정보
$ uptime # 서버 time, user, load average 정보
$ vmstat 1 # CPU, Memory, Disk 사용정보
$ ps -auxf # 프로세스, 메모리 등 전체정보
# 메모리 확인
$ free -m # 메모리 사용량 정보(MB로 환산)
$ sudo cat /proc/meminfo # 메모리 세부 사용량 정보
$ sudo slabtop -o # Slab 사용량 정보
# 전체 프로세스 swap 메모리 확인
$ sudo smem -t # 서버 전체 프로세스 메모리 사용정보
$ sudo cat /proc/buddyinfo # 버디시스템 정보
$ sudo sysctl -a | grep -i "vm.swappiness" # vm.swappiness 정보 출력
$ sudo sysctl -a | grep -i "vm.vfs_cache_pressure" # vm.vfs_cache_pressure 정보 출력
# 프로세스 영역별 크기 확인
$ sudo pmap PID # 해당 프로세스 영역별 크기 정보
$ sudo gdb -p PID # 해당 프로세스 gdb 덤프
...
(gdb) dump memory /home/ec2-user/memory_dump 0x7ffb558c9000 0x7ffb55b64000
# smaps로 확인한 주소 앞에 "0x"를 붙혀 메모리 논리주소를 작성해서 생성한다.
$ sudo strings /home/ec2-user/memory_dump # gdb dump 파일 읽은내용 출력
# numa 관리 명령어
$ numactl -H # NUMA 노드 정보확인
$ numastat -cm # NUMA 메모리 상태확인
$ sudo cat /proc/PID/numa_maps # numa_maps 프로세스 메모리 할당정책 확인
$ numastat PID # 프로세스가 어떤 노드로부터 메모리 할당받았는지 확인
# TIME_WAIT 소켓 확인방법
$ netstat -napo | grep -i time_wait | wc -l # time_wait 소켓 개수 확인
$ sysctl -a | grep -i "net.ipv4.ip_local_range" # 로컬포트 범위 확인
$ sysctl -w "net.ipv4.tcp_tw_reuse = 1" # tw_reuse 커널 파라미터 수정방법
$ sudo vi /etc/nginx.conf # nignx keepalive 설정법
keepalive_timeout 0;