2014년 2월 18일 화요일

kill signal의 종류

# kill의 시그널 종류

1. SIGHUP(HUP) : 연결 끊기. 프로세스의 설정파일을 다시 읽는데 사용된다.
2. SIGINT(INT) : 인터럽트
3. SIGQUIOT(QUIT) : 종료
4. SIGILL(ILL) : 잘못된 명령
5. SIGTRAP(TRAP) : 트렙 추적
6. SIGIOT(IOT) : IOT 명령
7. SIGBUS(BUS) : 버스 에러
8. SIGFPE(FPE) : 고정 소수점 예외
9. SIGKILL(KILL) : 죽이기. 이 시그널은 잡히지 않는다.
10. SIGUSR1(USR1) : 사용자 정의 시그널 1
11. SIGSEGV(SEGV) : 세그멘테이션 위반
12. SIGUSR2(USR2) : 사용자 정의 시그널 2
13. SIGPIPE(PIPE) : 읽을 것이 없는 파이프에 대한 시그널
14. SIGALRM(ALRM) : 경고 클럭
15. SIGTERM(TERM) : 소프트웨어 종료 시그널, 일반적으로 kill 시그널이 전송되기 전에 전송된다.
                            잡히는 시그널이기 때문에 종료되는 것을 트랙할 수 있다.
16. SIGKFLT : 코프로세서 스택 실패
17. SIGCHLD(CHLD) : 자식 프로세스의 상태변화
18. SIGCONT(CONT) : STOP 시그널 이후 계속 진행할 때 사용
19. SIGSTOP(STOP) : 정지. 이 시그널 역시 잡을 수 없다.
20. SIGTSTP(TSTP) : 키보드에 의해 발생하는 시그널로 Ctrl+Z로 생성된다.

2014년 2월 5일 수요일

SSD performance tips for RHEL6 and Fedora

SSD performance tips for RHEL6 and Fedora

    Solid State drives provide a pretty substantial performance boost over traditional hard drive technology, but they have some limitations that require some additional planning. There are basically two big things to do, enable discard/trim support in the filesystem, and limit write operations to the SSD. You want to enable discard to deal with underlying drive specific performance degradation that will happen over time. You want to limit writes to the disk to forestall the impending cell death that awaits any SSD device.  Without further ado, lets get to the tuning tips.

1. Enable discard: in /etc/fstab, append 'discard' as a mount option.
(NOTE: Make sure your disk supports trim. The following command should return a result telling you trim is supported: hdparm -I /dev/yourdisk | grep -i trim)
    sample fstab entry:  /dev/sda2        /      ext4     defaults,discard     1 1

 2. Move /tmp to ram.  This depends on how much ram you have and how much /tmp space you use, but it really helps to limit writes to the SSD
sample fstab entry:  none       /tmp      tmpfs        defaults      0 0

3. Change the mount options for your ext4 filesystem. Again, we're looking to limit writes here. These options are very helpful, but assume that you're using some form of battery backup (UPS, laptop usage, etc). Specifically we're looking at noatime, data, and commit options.
  • change data from the default of ordered to writeback. This reduces the journal data to meta-data only, thus limiting writes.
  • change the commit value from the default of 5 seconds to 10, or 15. This gets you a 2 to 3x write savings, though you risk losing a bit more data if you lose power.
  • If you don't need access time records (mtime and ctime should be enough for most folks) disabling atime will also limit write operations. 
sample fstab entry:  /dev/sda2        /      ext4     defaults,discard,data=writeback,noatime,commit=15     1 1
 4. Lastly, you might want to consider changing the scheduler to noop, since SSD performance will change the system dynamic. You'll likely want to benchmark this to see if it makes a difference for you. To do this, simply add 'elevator=noop' as a kernel option in /etc/grub.conf

This setup will provide a decent base for a laptop or workstation using SSD storage drives. Enjoy!