如题所述
buffer和cache是两个在计算机技术中被用滥的名词。
放在不通语境下会有不同的意义。在Linux的内存管理中,这里的buffer指Linux内存的:Buffercache。这里的cache指Linux内存中的:Pagecache。翻译成中文可以叫做缓冲区缓存和页面缓存。在历史上,它们一个buffer被用来当成对io设备写的缓存,而另一个cache被用来当作对io设备的读缓存,这里的io设备,主要指的是块设备文件和文件系统上的普通文件。但是现在,它们的意义已经不一样了。服务器在正常情况下,例如:未被攻击。我们完全可以按照上面所讲的,人工来清理缓存。只需要操作三条命令:#echo1>/proc/sys/vm/drop_caches#echo2>/proc/sys/vm/drop_caches#echo3>/proc/sys/vm/drop_caches。
但是,非正常情况下,再按照上面那种方法就属于治标不治本,你必须要知道Linux下查看哪个进程占用CPU或内存最多。具体的原因是为什么例如:有后门、被攻击.....,你总不能一直去手工清理吧。因此,我的整个解决步骤如下:经过我的排查,我发现有一个网站下面,有几个可疑文件:quest.shquest.batquest.vbs其中,quest.sh还被加入了crontab定时任务。
放在不通语境下会有不同的意义。在Linux的内存管理中,这里的buffer指Linux内存的:Buffercache。这里的cache指Linux内存中的:Pagecache。翻译成中文可以叫做缓冲区缓存和页面缓存。在历史上,它们一个buffer被用来当成对io设备写的缓存,而另一个cache被用来当作对io设备的读缓存,这里的io设备,主要指的是块设备文件和文件系统上的普通文件。但是现在,它们的意义已经不一样了。服务器在正常情况下,例如:未被攻击。我们完全可以按照上面所讲的,人工来清理缓存。只需要操作三条命令:#echo1>/proc/sys/vm/drop_caches#echo2>/proc/sys/vm/drop_caches#echo3>/proc/sys/vm/drop_caches。
但是,非正常情况下,再按照上面那种方法就属于治标不治本,你必须要知道Linux下查看哪个进程占用CPU或内存最多。具体的原因是为什么例如:有后门、被攻击.....,你总不能一直去手工清理吧。因此,我的整个解决步骤如下:经过我的排查,我发现有一个网站下面,有几个可疑文件:quest.shquest.batquest.vbs其中,quest.sh还被加入了crontab定时任务。
温馨提示:答案为网友推荐,仅供参考