[英]How to clear cache memory on linux machine for a user?
我在 Linux 机器上运行 c++ 工具。 该工具因 memory 问题而崩溃。 我已经检查了我机器的 RAM 详细信息。
total used free shared buffers cached
Mem: 15798 15747 50 0 15 12758
-/+ buffers/cache: 2972 12825
Swap: 8001 345 7655
几乎没有空间来运行我的应用程序。 我怎样才能安全地清除选定的缓存 memory 以便该工具执行。(为此我如何列出缓存 memory 的详细信息)我需要至少 3GB 的 memory 来运行我的应用程序。
我没有尝试清除缓存,因为它可能会杀死当前的应用程序。
注意:该工具至少需要 40 小时才能达到 memory 阈值限制。 红帽 Linux
请帮忙。
我在我的linux ubuntu 19.04上尝试这个,它成功清除了缓存
# echo 1 > /proc/sys/vm/drop_caches
要么
# echo 2 > /proc/sys/vm/drop_caches
# echo 3 > /proc/sys/vm/drop_caches
注意 :
# echo 3 > /proc/sys/vm/drop_caches
命令用于从pagecache,dentries和inode清除内存。
请创建一个文件并将以下内容复制到 /bin/mfree 文件中。 通过运行chmod +x /bin/mfree
给它执行权限。 现在您可以运行 mfree 命令来清除缓存 memory 以及之后/之前的报告。
注意:您可以选择任何文件名。
#!/bin/bash
#purpose: purging cache memory
#author: bablish jaiswal
free -wh > ~/old #moving file to store last memory report before purging
purging () {
sudo sync; sudo echo 1 > /proc/sys/vm/drop_caches #droping chache meory
sudo sync; sudo echo 1 > /proc/sys/vm/drop_caches #droping chache meory
sudo sync; sudo echo 1 > /proc/sys/vm/drop_caches #droping chache meory
sudo sync; sudo echo 2 > /proc/sys/vm/drop_caches #droping chache meory
sudo sync; sudo echo 2 > /proc/sys/vm/drop_caches #droping chache meory
sudo sync; sudo echo 2 > /proc/sys/vm/drop_caches #droping chache meory
sudo sync; sudo echo 3 > /proc/sys/vm/drop_caches #droping chache meory
sudo sync; sudo echo 3 > /proc/sys/vm/drop_caches #droping chache meory
sudo sync; sudo echo 3 > /proc/sys/vm/drop_caches #droping chache meory
}
report(){
echo -e "\n\n\n\nServer $(curl -s -4 ident.me;echo)'s cache Purging report:-\n-----Before Purging----\n$(cat ~/old)\n\n-----After Purging-----\n$(free -wh)\nTimeStamp:- $(TZ='Asia/Kolkata' date)\n\n"
}
purging > /dev/null 2>&1 && report || echo -e "Kindly run with sudo rights\nExample:- sudo mfree" #guide to run
mfree 命令的示例 output 如下所示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.