리눅스 캐시 정리

top 명령어로 서버 상태를 보니 buff/cache 메모리가 상당히 커서

sync && echo 3 > /proc/sys/vm/drop_caches 로 캐시 메모리를 날렸습니다

crontab 으로 주기적으로 날려주려고 하는데, 이게 서버에 좋은건가요?

하루마다 날려도 상관없는지 궁금합니다...

  • profile
    주기적으로 날려줘야 할 정도라면 이제 서버를 업그레이드 할 때가 된것 같습니다. (단, 최적화가 되어있다는 조건에서 입니다.)
  • profile ?
    • blue
    • 질문기여자
    주기적으로 정리하면 서버에 부담되나요?
    캐시 메모리 정리한 직후 sar -r 했을 때 사용률 15% 정도 나오고, 캐시 정리할 때쯤엔 35~40% 나옵니다
  • ? profile
    정리자체가 부담이 되는것은 아닌데

    제가 글을 잘못이해했군요. 버벅거려서 캐시를 확인해보니 용량을 많이차지하고 있어서 비운다는 건줄 알았는데 그냥 용량이 커서 비운다는 거였군요.

    딱히 느려짐이나 버벅거림이 없다면 그냥 그대로 두셔도 됩니다. 말 그대로 캐시라 알아서 불필요한것 지우고, 필요한건 저장하고 하니깐요. 캐시는 상황에 따라 용량이 클수도 메모리가 충분하다면 적을 수도 있습니다.
  • profile

    리눅스 커널께서 buff/cache로 쓰시겠다는데 일개 사람의 판단으로 날려버리면

    서버가 느려지면 느려졌지 더 빨라지지는 않습니다.
    실제 프로그램이 그 용량을 필요로 하면 어련히 알아서 돌려줍니다.

     

    리눅스는 원래 남아 있는 RAM 용량을 대부분을 buff/cache로 할당합니다.

    RAM은 쓰라고 있는 거니까요. 비워 놓으면 전기만 잡아먹고 아무 짝에도 쓸모가 없습니다.

  • profile ?
    • blue
    • 질문기여자
    감사합니다
    시스템이 알아서 쓰도록 두는게 가장 좋은가보네요
  • ? profile
    데스크탑 PC와 서버는 다르지요. 데스크탑 PC는 수시로 게임이나 포토샵 등을 실행해야 하니까 RAM 사용량에 변동이 많습니다. 따라서 넉넉히 남겨놓는 것이 안전하지요. 그러나 서버는 똑같은 프로그램이 일년 내내 돌아가잖아요. 필요한 프로그램이 모두 돌아가고 있는 상태에서 버퍼와 캐시도 적당히 할당하여 RAM을 최대한 100%에 가깝게 사용하는, 그러나 100%를 초과하지는 않는 상태가 가장 좋습니다.