很多公羊。如何使用它?


14

我的电脑有8 Gb的内存。有什么方法可以使ubuntu充分利用它吗?我的意思是很少删除缓存并在ram中保留打开的程序更长的时间,在启动时预加载应用程序等。


Ubuntu是否会丢弃缓存或将打开的程序移至交换位置?
mikewhatever 2012年

您有64位还是32位版本?
Addison Montgomery

Answers:


8

您可以使用以下命令为某些目录制作虚拟磁盘tmpfs

例如~/.cache/,对于Google chrome和Chrome用来缓存数据的目录,其中的条目/etc/fstab为:

tmpfs /home/your_username/.cache tmpfs defaults,size=1024M 0 0

但是,应注意的是,每次重新启动时内容都会丢失。

花药适当的目录可能是/tmp。请注意,您可以使用绝对值或相对值(相对于您的RAM)指定tmpfs的大小:

使用1G的RAM:

tmpfs /tmp tmpfs nosuid,size=1G 0 0

或者,使用您可用RAM的10%:

tmpfs /tmp tmpfs nosuid,size=10% 0 0

2

预加载应该足够容易-由于linux尽可能多地缓存/缓冲,只需将要“预加载”到/ dev / null的库/二进制文件编入目录-这样就可以预热缓存。在启动时启动如下脚本:

#/bin/bash
PROGS=("/usr/bin/jiha" "/usr/bin/doho")
for i in "${PROGS[@]}"; do 
    cat $i > /dev/null
    for j in $(ldd "$i"); do  # this does not work -- need to filter ldd output (awk)
        cat $j > /dev/null
    done
done

一次又一次地添加一些库会浪费很多时间,一次只预加载所需的库会有点复杂-但是影响取决于PROGS阵列的长度。

默认情况下,其余部分(很少会丢弃高速缓存,...)大部分由系统来处理-占用可用的内容,只有在需要时才放行。

高温超导


这会对磁盘I / O产生负面影响吗?此外,它与仅安装有很大不同preload吗?但是有趣的问题和答案是,我和OP处于同一情况,而我从未见过> 50%的RAM使用率。
汤姆·布鲁斯曼

1
预加载AFAIU将在运行期间根据用户打开的程序/文件进行预加载;这种简单的方法会延长启动时间,但会加快所需应用程序的加载时间,仅此而已。
汤姆·雷格纳

1
ram的缓冲/缓存部分在大多数工具中都显示为免费-如有需要,它们将被释放;但是linux会尽可能长地缓存您访问的每个文件。如果您的计算机上使用的内存总量(包括缓冲区/缓存)从未达到50%,则您的RAM太多:-)
Tom Regner,2012年

很高兴知道,谢谢。拉姆变得如此便宜,我只能得到更多。非常适合偶尔运行VM,但可能不是必需的。
汤姆·布鲁斯曼

是的,不耗尽内存真是太好了-绝对值得。在两台机器(工作/家庭)上都跳到了8G-很好。
汤姆·雷格纳
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.