윈도우서버, 리눅스에서 파일을 미리작성하는 기능을 뭐라고 하나요?

   조회 2752   추천 0    

윈도우 서버를 사용중인데 이게 파일 복사나, 파일 쓰기를 하면 순식간에 작업이 완료된 것 처럼 보여도 사실상은 메모리에 올려놓고 하드디스크에 천천히 쓰더군요. 

이 기능을 뭐라고 하나요? 그리고 이 기능때문에 혹시나 서버가 정전으로 다운되는 현상이 생기면 데이터 손실도 클텐데.. 오히려 꺼두는게 나을 것 같다는 생각도 들어서요.

짧은글 일수록 신중하게.
윈도우에서는 모르겠고.. 리눅스에서는 page cache.. 라고 봐야 할 것 같은데요. 근데 그걸 끈다는게.. 가능하지가 않을 것 같습니다. 프로세스/메모리/파일시스템의 기본적인 동작과도 매우 관련이 깊어서요. 개별 파일을 쓰기 위해 open(2) 할 때 O_SYNC flag를 준다거나.. ZFS 처럼 dataset 별로 synchronous write를 강제하는 옵션이 있는 경우에 세팅할 수는 있겠지요. 물론 매우 느려지고 하드디스크 헤드는 매우 비효율적으로 동작하게 됩니다. 시스템 전체적으로 제어하는 건 모르겠습니다.
     
엔진엑스 2019-06
감사합니다. 저도 건드려야할지.. 애매했는데 전원 안나가게 관리잘하는게 중요할것같군요.
화란 2019-06
리눅스에서는 sync 명령어를 주면 메모리 플러싱( 메모리 내용을 싹비우고 하드에 진짜 씁니다 )이 일어나는데요,

딱 복사만하고 다른 서비스는 안돌리는 경우에는 유용한데,

미션 크리티컬 서버라던가 메모리에 로딩 많이 된 경우에는 당연히 비추입니다. sync 소스를 보시면 아시겠지만 정상적인 종료를 보장하지 않으므로

메모리가 크면 엄청 오래 걸리기도 하고, 진짜 무한정 기다리는 경우도 생깁니다.

분노의다운힐님 말씀처럼, C로 짜면 fopen()/open() -> write() -> fclose()/close() -> sync() 요런 순서로 짜도 됩니다^^

윈도우즈에서는 장치관리자 -> 디스크드라이브 -> 속성 -> 정책에 들어가서 '쓰기 캐싱 정책'으로 조정은 가능하다고는 하는데... 비추라고 대부분 그러시네요 ㅋ
하셀호프 2019-06
개발하는 경우 에디터에서 2~3줄 이상 작성한 후에는 무조건 저장을 하지요
파일은 닫지 않고 작성중에 수시로 저장을 하게 되면 그래서 소실되는 부분이 작아지기는 합니다


QnA
제목Page 748/5710
2014-05   5156328   정은준1
2015-12   1690671   백메가
2020-02   2765   청사초롱
2021-01   2765   정의석
2019-11   2765   청춘
2020-07   2765   오이꼭지
2022-10   2765   kun9
2019-12   2765   다큐
2019-07   2765   최동민
2022-01   2765   짱님
2019-03   2765   늘파란
2019-01   2765   jang
2019-02   2765   머라카는데
2019-04   2766   하셀호프
2019-08   2766   눈팅돌이
2020-12   2766   VSPress
2022-04   2766   신은왜
2019-05   2766   susemi
2023-10   2766   Nicoffeine
2020-12   2766   진신두
2020-03   2766   르나풀스
2019-02   2766   제로섬