OS이야기
랩탑모드
НooпeУ
2011. 11. 1. 19:15
랩탑모드는 특별한 페이지 라이트백 방식으로, 하드 드라이브의 동작을 최대한 줄여서 배터리 사용시간을 늘리는 것이 목적이다.
/proc/sys/vm/laptop_mode의 값을 통해 조절할 수 있는데, 기본적으로는 그 값이 0으로 비활성화되어 있다. 이 값을 1로 변경하면 활성화된다.
한가지만 바뀌는데, pdflush는 오래된 dirty 페이지들에 대한 라이트백을 수행하면서, 이에 편승하여 모든 dirty 버퍼들을 디스크에 기록하기 위한 물리적인 디스크 IO도 함께 수행해버린다. 이런 방식으로 , pdflush는 방금 동작을 시작한 디스크를 함께 사용하여 이후에 별도로 디스크를 동작시킬 필요가 없데된다.
많은 리눅스 배포판들은 배터리 사용 여부에 따라 pdflush의 다른 설정들과 함께 랩탑 모드를 알아서 활성화/비활성화한다. 이를 통해, 리눅스 장비는 배터리를 사용할 때는 랩탑 모드를 동작하다가, AC전워ㅓㄴ을 사용하게 되면 자동으로 원래의 페이지 라이트백 방식으로 돌아옴
bdflush와 kupdated
2.6이전의 커널에서는 pdflush스레드 작업이 bdflush와 kupdated라는 두 스레드에게 분담되어 있었다.
bdflush는 스레드가 하나이지만, pdflush는 스레드가 가변적이라는 차이점이 있다.
혼잡 회피 : 왜 여러 스레드를 사용하는 것이 좋은가?
/proc/sys/vm/laptop_mode의 값을 통해 조절할 수 있는데, 기본적으로는 그 값이 0으로 비활성화되어 있다. 이 값을 1로 변경하면 활성화된다.
한가지만 바뀌는데, pdflush는 오래된 dirty 페이지들에 대한 라이트백을 수행하면서, 이에 편승하여 모든 dirty 버퍼들을 디스크에 기록하기 위한 물리적인 디스크 IO도 함께 수행해버린다. 이런 방식으로 , pdflush는 방금 동작을 시작한 디스크를 함께 사용하여 이후에 별도로 디스크를 동작시킬 필요가 없데된다.
많은 리눅스 배포판들은 배터리 사용 여부에 따라 pdflush의 다른 설정들과 함께 랩탑 모드를 알아서 활성화/비활성화한다. 이를 통해, 리눅스 장비는 배터리를 사용할 때는 랩탑 모드를 동작하다가, AC전워ㅓㄴ을 사용하게 되면 자동으로 원래의 페이지 라이트백 방식으로 돌아옴
bdflush와 kupdated
2.6이전의 커널에서는 pdflush스레드 작업이 bdflush와 kupdated라는 두 스레드에게 분담되어 있었다.
bdflush는 스레드가 하나이지만, pdflush는 스레드가 가변적이라는 차이점이 있다.
혼잡 회피 : 왜 여러 스레드를 사용하는 것이 좋은가?