권한이없는 사용자가 시스템 속도를 늦출 수있는 방법에는 여러 가지가 있으며 동기화 실행이 더 효율적이지는 않습니다. 반면, 파일 시스템 데이터를 디스크에 커미트하는 것은 합법적 인 요청이므로 사용자 (및 프로세스)가이를 수행하는 것은 과도한 일입니다.
어쨌든 귀하의 "불필요한 디스크 쓰기"설명에 동의하지 않습니다. 이러한 쓰기는 반드시 필요하며 어쨌든 작은 시간이 지나면 자동으로 발생합니다.
동기화 호출이 구현에 따라 특정 작업을 수행한다는 보장조차 없습니다. POSIX 표준에서 정의한대로 동기화 호출 은 OS가 파일 시스템 캐시를 플러시하기위한 "제안"만으로 플러시를 즉시 강제로 수행하지는 않습니다. 더 정확하게 말하면 호출은 OS에 캐시 플러시를 예약하도록 요청하지만 Linux 구현이 반환하기 전에 대기하기는하지만 이미 예약 된 시간 전에 발생한다는 보장은 없습니다.
또한, 한 번에 여러 번 sync를 호출하면 캐시가 플러시되면 프로세스가 파일에 능동적으로 쓰는 프로세스가 없으면 캐시가 비어 있으므로 동기화가 작동하지 않습니다.
사용자가 시스템에서 동기화를 실행하지 못하게하려면 다음 명령을 실행하면됩니다.
mv /bin/sync /bin/.sync
ln /bin/true /bin/sync
그것은 사용자들에게 크게 눈에 띄지 않으며 동기화를 실행 한 다음 저장 장치를 마운트 해제하지 않고 제거하는 사람들을 제외하고 부정적인 영향을 미치지 않습니다.
이전의 / bin / sync 링크와 / bin / true를 사용하지 않는 것이 좋습니다. sync
어떤 경우에는 확실히 유용합니다. 예를 들어, 잔인한 종료 (전원 부족, 시스템 패닉 등)가 곧 발생할 경우 파일 시스템 내용을 보존하는 데 도움이됩니다. 이것이 제가 합법적 인 요청이라고 부르는 것입니다.