Gnome과 unity,kde의 디스크 읽기와 캐시에서 차이는 무엇에 의해 결정되는 가요?

아주 오래전 부터 몹시 궁금해 하던 부분이 있어 이리저리 알아보고 직접 겪어 봐도
모를 것이 있어 고수님들께 여쭤 보겠습니다.

저는 KDE를 항상 사용하다가 KDE5가 나오면서 gnome으로 완전 돌아섰는 데
그놈을 사용하다 보면 알다가도 모를 부분이 있습니다.

우분투의 unity, kde 사용하다 보면 하드 디스크를 읽어 올 때 상당히 안정적인 데
이를 테면 hdparm 또는 gnome-disk-utillity로 하드 디스크의 쓰기 캐쉬를 적용하지 않더라도
아니면 readhead의 속도를 기본으로(최저) 사용하더라도 별 무리가 없습니다.

단, 그놈에서 만큼은 이 둘의 기능을 반드시 조절해야 할 필요가 있는 데
디스크의 옵션을 조절하지 않으면 랙이 자주 발생 합니다.

아래는 조절 한 값의 정보 입니다. (이 값은 그놈의 디스크 유틸에서도 조절 가능 합니다.)

sudo hdparm /dev/sda

/dev/sda:
multcount = 16 (on)
IO_support = 0 (default)
readonly = 0 (off)
readahead = 256 (on)
geometry = 30401/255/63, sectors = 488397168, start = 0

위의 값을 조절 하지 않으면 예를 들어 토렌트를 걸어 놓고 풀화면으로 비디오를 볼 때 멈춤 현상(stutter나 jitter 현상과는 조금 다름)이 발생한다든지
아니면 VM을 뛰어 놓고 다른 작업을 열심히 한다든지 대용량의 파일 문서를 열 때 자주 랙이 발생 합니다.

매우 신경이 거슬리는 점입니다. 이것이 말이지요…^^

이럴때는 hdparm을 이용하여 디스크의 쓰기 캐시를 활성화 하고 readhead의 속도를 변경하면
위의 현상들이 현저히 줄어듭니다. 특히 sata가 아닌 IDE 디스크는 진주와도 같은 보배로 작용 합니다.

우분투, 페도라, 오픈 수세 무엇을 이용해 보아도 오직 Gnome에서만 이런 현상이 있는 데
이런 차이점이 어디에서 발생하는 것 일까요?

참고로 우분투의 unity가 이 부분에선 가장 좋은 결과를 보여 줍니다.

Kernel 상의 vm.dirty variable를 체크해 보아도 우분투, 페도라, 수세 모두 동일한데
딱히 로그가 있는 것도 아니고 어디에서 그 차이가 발생하는 지 감이 오지 않습니다.

$ sysctl -a | grep dirty
vm.dirty_background_bytes = 0
vm.dirty_background_ratio = 10
vm.dirty_bytes = 0
vm.dirty_expire_centisecs = 3000
vm.dirty_ratio = 20
vm.dirty_writeback_centisecs = 500
vm.dirtytime_expire_seconds = 43200

위와 같이 환경 변수가 동일한 데 말입니다. 위의 값 중 저는 vm.dirty_background_ratio=50, vm.dirty_ratio=80 의 값을
모두 동일하게 배포반에 적용하여 사용 중입니다.

unity, kde, gnome등의 데스크 탑의 큰 차이는 compositor인데
제가 보기엔 compositor에 의해 차이가 난다라고는 전혀 생각하지 않습니다.

고수님들 께선 어디에서 차이가 발생하는 지 정보를 가지고 계시다면
어리석은 자에게 해안의 등불이 되어 주시면 감사하겠습니다.

위에서 말씀 드린 변경점들이 성능상의 향상은 가겨올 수 있다 하여도
같은 수치상의 환경을 가지고도 말씀 드린 증상이 나타나는 것은 gnome의 tracker 때문일 것으로 보여 집니다.

우선 백그라운드로 돌아 가는 모든 서비스를 중지 하고도
기대한 효과를 얻지 못했지만 gnome의 tracker를 중지 하니 기대한 효과를 얻을 수 있었습니다.

그놈은 왜 tracker 설정을 숨겨 놓았는지는 알 수 없으나
중지시 위에서 말씀 드린 증상이 사라지는 군요!

/etc/xdg에 있는 tracker*.desktop 파일에서 autostart를 false로 하고
재부팅 하시면 보다 쾌적한 환경에서 그놈을 이용하실 수 있을 것이라 기대합니다.

보다 자세한 사항은 아래 링크를 참조 하십시오.
[url:pqh2jz9d]http://www.putorius.net/2014/12/disable-tracker-on-fedora-21-fedora-20.html[/url:pqh2jz9d]