사용자 도구

사이트 도구


linux:performance

Linux Performance

CPU Frequency 조정

Linux CPU Frequency를 참조한다.

swap 명령

swappiness

메모리를 스왑 영역으로 옮기는 비율을 정한다. 0~100 까지 정할 수 있으며, 0이면 거의 스왑을 사용하지 않다가 어쩔 수 없을 때 스왑을 사용한다. /etc/sysctl.conf 파일에 다음 값으로 지정한다. 기본값은 거의 60이다.

vm.swappiness=5

명령행에서 일시적 지정은

sudo sysctl vm.swappiness=5
cat /proc/sys/vm/swappiness # 확인

http://ubuntu.or.kr/wiki/doku.php?id=%EB%AA%A9%EC%B0%A8:vm.swap_%EC%A1%B0%EC%A0%95%ED%95%98%EA%B8%B0

혹은 /etc/fstab에서 swap 파티션을 주석처리하고 재부팅하여 아예 꺼버릴 수도 있다. How do I disable swap

AWS 인스턴스의 경우 명시적으로 지정하지 않으면 아예 swap 공간을 만들지 않으므로 swappiness가 의미가 없는 듯.

nproc(Max User Processes)

  • ulimit -u 명령으로 값을 볼 수 있다.
  • ulimit -u 정수로 임시 값 설정
  • Centos의 경우 /etc/security/limits.conf 파일에서 값 지정
    *          -    nproc     10240

open files

  • ulimit -n 명령으로 값을 볼 수 있다.
  • ulimit -n 정수로 임시 값 설정
  • Centos의 경우 /etc/security/limits.conf 파일에서 값 지정
    *          -    nofile     10240

limits.conf

계정명         soft    nofile          50000
계정명         hard    nofile          50000
계정명         soft    nproc           10000
계정명         hard    nproc           10000

계정명에 * 으로 지정하면 나머지 다를 의미함.

AWS EC2 인스턴스의 경우 자동으로 인스턴스 타입에 따라 nproc을 적정수로 지정하는 것으로 보임. 확인해보고 nproc은 굳이 안해도 될 듯.

# 현재 프로세스 limits 확인
cat /proc/[PID]/limits
 
# hardlimit 확인
ulimit -aH

Outbound Socket Connection

net.ipv4.tcp_fin_timeout = 10
net.ipv4.ip_local_port_range = 15000 61000
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 1
  • net.ipv4.tcp_tw_recycle 이 값은 1로 줄 경우 문제 발생의 소지가 있을 수 있다.

Hyper Threading

  • egrep 'siblings|cpu cores' /proc/cpuinfo | head -2 명령의 결과 siblings의 값이 cpu cores의 2배이면 하이퍼쓰레딩이 켜져 있는 것이다. 두 값이 동일하면 꺼져있는 것이다.
  • 가끔 하이퍼쓰레딩을 지원하지 않는 CPU인데 이 값이 2배로 보이는 일이 발생하기도 한다고 한다.

참조

linux/performance.txt · 마지막으로 수정됨: 2018/04/25 17:01 저자 kwon37xi