본문 바로가기

Write Barrier란 무엇인가? Write Barrier란 무엇인가? Write Barrier는 파일시스템의 메타데이터가 올바르게 기록되고 디스크에 제대로(심지어 디스크 전원이 나갈지라도) 반영되게 하기위한 커널 매커니즘이다. 이 매커니즘은 전원에 문제가 생겨도 fsync()를 통해서 전송된 데이터가 올바르게 지속되록 해주지만 특정 프로그램에 대해서는 성능 저하를 가져오는 영향을 줄 수 있다. 특히, fsync() 시스템콜을 많이 사용하거나 작은 파일의 생성과 삭제를 빈번하게 하는 어플리케이션에 성능적인 저하를 많이 일으키게 된다. 앞서 언급했던 파일시스템과 관련된 부분을 다시 짚어보자. 현재 대부분의 디스크 장치는 내부적으로 캐시를 가지고 있으며 RAID 컨트롤러에도 캐시가 존재한다. 이러한 Write Cache가 존재하는 저장장치들.. 더보기
물리적 메모리free영역이, 남아있음에도 불구하고, Swap영역을 Attach하는 이유는 무엇인가? 1) 물리적 메모리free영역이, 남아있음에도 불구하고, Swap영역을 Attach하는 이유는 무엇인가? Free 메모리가 있는 상황에서 시스템이 어느정도의 스왑메모리를 사용하는 것은 정상적인 상황이다. 커널은 근미래에 사용될 가능성이 높은 메모리 페이지(사용자 프로세스이던 커널 캐쉬이던간에 상관없음)를 스왑아웃하지 않고 메모리상에 계속 보관해두어 퍼포먼스를 높이고자 한다. 또한 아주 적은 빈도로 사용될 가능성이 높은 페이지는 가용메모리 공간 낭비를 피하기 위해 스왑아웃 시킨다. (예: X11 getty, 기타 inactive한 데몬 관련...) 이와 관련해서 커널의 스와핑 활용 경향을 변경/셋팅할 수 있다. /proc/sys/vm/swappiness 값을 셋팅하면 되는데 기본값은 60이다. 0으로 셋팅.. 더보기
kernel: mtrr: type mismatch for e0000000,4000000 old: uncachable new: write-combining 지난회사를 퇴사한지 어언 반년이 지났건만 아직도 연계되어서 오는 연락들....쩝....뭐 개인적으로야 기분이 썩 나쁘지않다만서도 아직도 굴레를 벗어나지 못한 향수를 느끼는걸 보면 뭐랄까? 뭐라 설명해야하지 ㅎ 아무튼 한두건정도 연달아 문의한 내용에 대해서 포스팅하려한다. 환경RedHat Enterprise Linux 5 문제/var/log/messages 에러메시지중, 간헐적으로 kernel: mtrr: type mismatch for e0000000,4000000 old: uncachable new: write-combining 메시지가 남겨지는 이유? 근본원인먼저 접근방법에 대해 논의전, MTRRs(Memory Type Range Registers)에 대해 알아야 한다. 간략하게 설명하면 MTRR을 .. 더보기