아하... 그게 문제였나요... 아무리해도 재현이 안되는 부분이라...
해당 부분은 cron 이벤트를 발생시키는 부분입니다. cron 은 일정 시간마다 이벤트를 발생시키는 일을 합니다. 예를 들어 플러그인의 어떤 기능이 5분마다 동작해야 한다면, Cron5m 이라는 이벤트에 기능을 연결하면 5분마다 그 기능이 동작합니다.
그런데 문제는, PHP 프로그램의 특성상 서버에서 백그라운드로 서비스를 돌릴 수가 없기 때문에, 시간이 얼마나 흘렀는지 체크를 하기 위해서는 동작시마다 로그를 체크해서 바로 이전 동작보다 얼마나 시간이 흘렀는지 체크해서 적당한 시간이 흘렀으면 이벤트를 발생시킵니다. 그런데 모든 페이지를 부를 때 마다 그러한 동작을 하면 블로그의 속도에 영향을 줄 수 있기 때문에 잘 불려지지 않는 부분에서만 해당 체크를 하게 됩니다. 그게 '에러 페이지' 가 호출될 때와 'RSS/ATOM 페이지' 가 호출 될 때 입니다.
위에서 말씀해 주신 것으로 보아, Cron을 체크하는데 문제가 생기는 것으로 보입니다. 두가지 문제가 가능합니다.
1. Cron을 사용하는 플러그인 중, 제대로 동작을 하지 않는 플러그인이 있습니다. 또는 동작을 너무 오래하는 플러그인이 있어서, 그 플러그인의 동작이 끝날 때 까지 기다리는 상태입니다.
2. Cron 동작이 끝난 후, 로그를 남깁니다. 그 로그로의 접근이 불가능한 상태입니다. Cron 로그는 텍스트큐브의 cache 디렉토리 안에 cronlog.txt 에 저장됩니다. 이 파일로의 접근이 문제가 생기면 그 부분에서 기능이 멈출 수 있습니다.
일단 말씀주신 질문에 대해 답변을 드리면
1. 위에서 설명드린 Cron 로그 동작을 담당하는 부분입니다. 플러그인 중 Cron 이벤트를 사용하는 경우의 동작이 문제일 수가 있구요, 그 이유가 아니라면 cache 디렉토리의 권한에 웹서버의 쓰기 권한이 있는지, cronlog.txt 파일의 내용을 보신 후 그 로그가 계속 남고 있는지 체크를 부탁 드립니다.
2. Cron 기능을 끄면, 해당되는 플러그인들의 동작이 멈춥니다. 또한 일정 시간마다 스팸 글을 지워주거나 리퍼러 로그를 정리하고 최적화하는 부분이 동작하지 않게 됩니다.
정상적인 상태에서는 발생하지 않는 버그인데, 의심되는 부분이 하나 있네요. /library/model/blog.cron.php 파일을 여신 후에
$log_file = dirname(__FILE__).DS."..".DS."..".DS."cache".DS."cronlog.txt";
이 줄을
$log_file = ROOT.'/cache/cronlog.txt';
이렇게 바꿔보시기 바랍니다. 윈도우 웹서버에서의 동작을 위해 대응된 부분인데, 혹시 이게 원인일 수도 있겠다 싶습니다.