리눅스 버퍼/캐시 메모리 관리 방법
메모리 점유 확인
$ free -h
$ top
캐시 메모리 비우기
$ echo 1 > /proc/sys/vm/drop_caches
$ echo 2 > /proc/sys/vm/drop_caches
$ echo 3 > /proc/sys/vm/drop_caches
주기적인 캐시 메모리 비우기
0 * * * * sync && echo 3 > /proc/sys/vm/drop_caches # 매 시간 캐시 비우기
0 */1 * * * sync && echo 3 > /proc/sys/vm/drop_caches # 1시간 마다 캐시 비우기
0 7 * * 0 sync && echo 3 > /proc/sys/vm/drop_caches # 매일 오전 7시에 캐시 비우기
*/30 * * * * sync && echo 3 > /proc/sys/vm/drop_caches # 매 30분 마다 캐시 비우기
cron log 기록
- 실행명령문 뒤에 해당파일(cron.log)에 로그를 남기고 싶을때 아래와 같이 사용
$ crontab -e
0 7 * * * /root/script/clean_swap.sh >> /root/cron_log/cron.log 2>&1
리눅스 날짜 포맷팅
BACKUP_LOG=$(date '+%Y%m%d')
tar -zcvf /data/log/mongod.log-$BACKUP_LOG.tar.gz /data/log/mongod.log
서버 장애 시 서비스 포트 확인
# TCP 포트 실행중인 프로세스 찾기
$ lsof -i TCP:"포트번호"
ex) $ lsof -i TCP:80
# 특정 프로세스(서비스)가 어떤 포트를 차지하는지 확인
# 예) rpcbind 프로세스 가 실행되는 파일목록 출력
$ lsof -c rpcbind
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rpcbind 2662 rpc cwd DIR 259,2 284 96 /
rpcbind 2662 rpc rtd DIR 259,2 284 96 /
rpcbind 2662 rpc txt REG 259,2 61432 760446 /usr/sbin/rpcbind
rpcbind 2662 rpc DEL REG 259,2 322674 /usr/lib64/libnss_files-2.26.so
...
...
# 네트워크 연결 수 확인방법
$ netstat -apn | grep ESTAB | wc -l
27(해당 서비스 3핸드쉐이킹 끝난 서비스연결 갯수)
# 외부 연결요청 들어오는 네트워크 수 확인방법
$ netstat -apn | grep TIME_WAIT | wc -l