커널 데몬 중지나 옵션등으로 디스크 i/o 발생을 막을 수 있는 방법이 없을까요?
글쓴이: goldedit / 작성시간: 목, 2008/05/29 - 1:46오후
안녕하세요..
리눅스 2.6 커널 머신에서 특정 커널 데몬을
슬립 시키거나 중지 또는 아예 동작하지 않도록(잠시동안 이라도) 하고 싶습니다.
ps 명령으로 커널 데몬 프로세스들을 보면...
디스크 관련 커널 데몬인 [kjournald] 와 [pdflush] 를 슬립 하여
궁극적으로 디스크에 그 어떤 주기적인 i/o도 발생 시키지 않으려는 것이
목적입니다.
데몬을 건드리거나 커널 설정을 바꾸거나, 혹은 커널 특정 부분의 소스를 수정하여
다시 컴파일 하여 올리든, 그 어떤 방법이라도 디스크에 i/o를 발생시키지 않는 방법이
있으면 답변 부탁 드립니다.
감사합니다.
Forums:


noflushd의 소스
noflushd의 소스 코드에서 이런 걸 발견했습니다.
http://csourcesearch.net/package/noflushd/2.7.3/noflushd-2.7.3/src/kupdate.c
// kupdate.c static void pdflush_stop(kupdate_t k) { long interval; if (!k) return; if (!pdflush_get_interval(k, &k->interval)) { ERR("Failed to get pdflush interval"); return; } if (!pdflush_set_interval(k, 0)) ERR("Failed to stop pdflush"); else { /* Need to wait until all pending pdflush timers have * expired. Unfortunately there's no way to kick them. */ sleep(k->fixup_interval(k->interval)); DEBUG("pdflush stopped"); k->stopped = 1; } } static int pdflush_set_interval(kupdate_t k, long interval) { rewind(k->f); if (fprintf(k->f, "%ld\n", interval) < 0) { ERR("Failed to set net update interval"); return 0; } return 1; } ※ k->f=fopen("/proc/sys/vm/dirty_writeback_centisecs", "w+");이걸로 일단 pdflush를 멈출수는 있겠군요.
구글에서 찾아보니
구글에서 찾아보니 외국애들은 ext3를 ext2로 mount해서 kjournald를 비활성화시키더군요...
(참고로 ext2와 ext3는 상호 호환이 되는 파일시스템입니다.)
댓글 달기