论坛首页
论坛首页 主讨论区 PortableApps交流 兼容RAM盘的portable软件设想

兼容RAM盘的portable软件设想

关于PortableApps便携软件的使用、想法及各类问题。

版主: jooseng

josephwlh 投名入寨
投名入寨

帖子: 2
现在的内存都白菜价,随着64位系统的普及,PC上大内存已经不是什么新鲜事。
我在想portable软件是否可以自动化的与ram盘配合工作,这样对于以U盘为载体的 portable软件来说,将极大加快运行速度。
例如 portable版的firefox ,opera这些浏览器软件,都会频繁读写硬盘缓存。

设想如下:
1,先找个方便设置的ram盘软件,portable化。
2,所有portable软件启动文件里设置一个参数,是否开启ram盘支持
3,如果设置开ram盘支持,则判断ram盘软件是否已经工作。如果工作,设置自己的缓存为ram盘。
4,如果ram盘没开启,自动开启ram盘(找ram盘软有没有在,有就开启)。
5,如果没有ram盘软件不存在,temp按原始设置,该写u盘的继续写U盘。

David Pi 头像
建寨老工
建寨老工

帖子: 213

这和 PortableApps.com 搞的 RunLocal 原理差不多。PortableApps.com 的 Firefox Portable,默认关闭了硬盘缓存,仅使用内存缓存。但是,在低速 U 盘仍然存在速度慢的问题(因为 Firefox 要频繁读写几个 sqlite 文件)。一个解决方案是,在其配置文件中设置 RunLocal=true,这样,启动器会把程序复制到 Temp 目录运行,在结束后删除,可加快运行速度。我想,经过小小改造,将 RunLocal 的目标改为 RAM 盘,也非难事。
但是,面临的一个问题是,设定了 RunLocal=true 的 Firefox Portable,在结束后不会把配置文件拷贝回 U 盘,等于每次运行的配置都会丢失,所以不适于日常使用。
当然可以修改为,程序运行结束后,复制 Data 目录回 U 盘。
但是据我所知,对于 RAM 盘,似乎多了一层风险,假如断电或关机,便携软件未正常退出,那么 RAM 盘里的所有数据都会丢失,用户的配置便无法恢复了。
当然也可以设定为,程序(App目录)在RAM盘运行,数据(Data目录)仍然放置在 U 盘,一方面加快程序速度,一方面减低了数据丢失的风险。不过,对于许多便携软件(例如 Firefox Portable),频繁读写的是 Data 目录,那么加速的初衷也就失去了。

jooseng 革命同志
革命同志

帖子: 3502
可否这样:
程序启动时,把Data 目录 Copy (不是Move) 到 ram disk。
结束后把Data 目录 Copy 或是Move 回 U 盘。如果U 盘已有Data 目录则先删除。
这样就算丢失数据也只是这一次的更动而已,并不重要。


回到 PortableApps交流