我有一台运行 ubuntu 16.04 的笔记本电脑,内存为 4GB。我已经使用了大约一个月,最近我注意到,即使只运行 3-4 个应用程序,系统也会变慢很多。这是free -m
打开终端并打开 gedit 后的输出。
total used free shared buff/cache available
Mem: 3872 797 842 1971 2232 848
Swap: 4015 141 3874
您可以看到可用内存小于缓存内存。缓存内存不应该包含在可用内存中吗?问题是,当我打开其他应用程序时,缓存内存大小会增加,而不是为新应用程序提供空间!这是打开 Firefox、文档查看器和 vscode 后“free -m”的输出。
total used free shared buff/cache available
Mem: 3872 1391 145 1923 2335 299
Swap: 4015 250 3765
sudo sync; echo 3>'/proc/sys/vm/drop_cache'
没有多大帮助。
total used free shared buff/cache available
Mem: 3872 1368 239 1923 2265 324
Swap: 4015 256 3759
事实证明,我甚至无法在 Ubuntu 上同时打开 5 个应用程序。看来 2265mb 内存刚刚泄露了。这超过了我物理内存的一半!我该怎么办?
答案1
如果你想计算你的可用内存,试试这个
(它将以 MB 为单位打印)
在 bash 中创建脚本并添加这些
mem1=$( free | sed 'N;s/\n/ /;N;s/\n/ /' | awk '{ print $8 }' | awk '{ total = $1 / 1024 ; print total }' | sed 'N;s/\n/ /;N;s/\n/ /' | awk '{ print $1}' )
mem2c=$( free | sed 'N;s/\n/ /;N;s/\n/ /' | awk '{ print $10}' | awk '{ total = $1 / 1024 ; print total }' | sed 'N;s/\n/ /;N;s/\n/ /' | awk '{ print $1}' )
mem3=$( free | sed 'N;s/\n/ /;N;s/\n/ /' | awk '{ print $9}' | awk '{ total = $1 / 1024 ; print total }' | sed 'N;s/\n/ /;N;s/\n/ /' | awk '{ print $1}' )
mem2f=$( free | sed 'N;s/\n/ /;N;s/\n/ /' | awk '{ print $12}' | awk '{ total = $1 / 1024 ; print total }' | sed 'N;s/\n/ /;N;s/\n/ /' | awk '{ print $1}')
mem2=$(awk "BEGIN {print $mem2c+$mem2f; exit}")
然后就这样做
echo "$mem1 / $mem3 / $mem2"
来源:我自己的代码:)