来源:蜘蛛抓取(WebSpider)
时间:2018-02-24 20:37
标签:
系统先使用虚拟内存
查看: 27194|回复: 285
【虚拟内存】为路由器增加虚拟内存 SWAP(更新脚本)
主题帖子积分
魔力币6820
本帖最后由 bbis 于
18:28 编辑
最新教程请参考:
-----------楼-----下-----已----过----期----------------------
将路由器作下载器有时会遇到内存居高不下,需要添加虚拟内存做后援。
下面的代码保存到 /jffs/scripts/ 目录下,文件名S88swap,编码UTF-8,属性0755
(其实可以放到任何位置,只要输入绝对的路径即可)
#!/bin/sh
APPS_DEV=`/bin/mount | grep -E 'mnt' | sed -n 1p | cut -d& & -f1`
APPS_MOUNTED_PATH=`/bin/mount | grep -E 'mnt' | sed -n 1p | cut -d& & -f3`
APPS_INSTALL_FOLDER=swap
APPS_INSTALL_PATH=$APPS_MOUNTED_PATH/$APPS_INSTALL_FOLDER
SWAP_FILE=`nvram get apps_swap_file`
SWAP_SIZE=`nvram get apps_swap_size`
case &$1& in
&&start)
mem_size=`free |sed '1,3d' |awk '{print $4}'`
pool_size=`df $APPS_DEV |sed '1d' |awk '{print $4}'`
if [ $pool_size -gt $SWAP_SIZE ]; then
& && &&&if [ -e &$APPS_INSTALL_PATH/$SWAP_FILE& ]; then
& && && && && & swapoff $APPS_INSTALL_PATH/$SWAP_FILE
& && && && && & rm -rf $APPS_INSTALL_PATH/$SWAP_FILE
& && &&&fi
& && &&&mkdir -p $APPS_INSTALL_PATH
& && &&&swap_count=`expr $SWAP_SIZE / 1000 - 1`
& && &&&echo &dd if=/dev/zero of=$APPS_INSTALL_PATH/$SWAP_FILE bs=1M count=$swap_count&
& && &&&dd if=/dev/zero of=$APPS_INSTALL_PATH/$SWAP_FILE bs=1M count=$swap_count
& && &&&echo &mkswap $APPS_INSTALL_PATH/$SWAP_FILE&
& && &&&mkswap $APPS_INSTALL_PATH/$SWAP_FILE
& && &&&echo &swapon $APPS_INSTALL_PATH/$SWAP_FILE&
& && &&&swapon $APPS_INSTALL_PATH/$SWAP_FILE
& && &&&echo &.......................................................................&
& && &&&free
& && &&&echo &.......................................................................&
& && &&&echo &&
else
& && &&&echo &No enough partition size!&
& && &&&exit 1
fi
& && &&&;;
& && &&&
&&stop)
& && &&&if [ -e &$APPS_INSTALL_PATH/$SWAP_FILE& ]; then
& && && && && & swapoff $APPS_INSTALL_PATH/$SWAP_FILE
& && && && && & rm -rf $APPS_INSTALL_PATH/$SWAP_FILE
& && &&&echo &.......................................................................&
& && &&&free
& && &&&echo &.......................................................................&
& && &&&echo &&
& && &&&fi
& && &&&;;
&&*)
&&exit 1
&&;;
esac
复制代码
路由器插入USB设备,然后在webshell运行 /jffs/scripts/S88swap start
会自动在USB设备的根目录创建一个名为swap的文件夹,虚拟内存文件.swap存放在这里。
如果成功,会提示挂载的虚拟内存有多大。如果Swap的total为0证明未加载虚拟内存
未命名.gif (8.46 KB, 下载次数: 5)
11:56 上传
停止虚拟内存命令: /jffs/scripts/S88swap stop
也可以用: swapoff /mnt/sda1/swap/.swap
虚拟内存文件的绝对路径。sda1是USB磁盘
默认为33M虚拟内存,可以手动改大小。
SWAP_SIZE=`nvram get apps_swap_size`
例如改为128M ,SWAP_SIZE=128000
重启后就失效,所以需要手动添加到启动文件里去。
在 /jffs/scripts/wan-start 最后一行添加/jffs/scripts/S88swap start 即可
Ps:至于需要多大的虚拟内存,还是自己琢磨,不一定越大越好。
也有人说虚拟内存装U盘的话,进行下载会有大量读写损坏U盘,自己斟酌。
另一个脚本加强版:
如果运行出错,请说明路由器型号,固件版本
我的测试环境:AC68U 梅林_小宝改版固件 380.57_X6.5
且运行下面的脚本,将结果反馈:
echo APPS_DEV=`/bin/mount | grep -E 'mnt' | sed -n 1p | cut -d& & -f1`
echo APPS_MOUNTED_PATH=`/bin/mount | grep -E 'mnt' | sed -n 1p | cut -d& & -f3`
echo SWAP_FILE=`nvram get apps_swap_file`
echo SWAP_SIZE=`nvram get apps_swap_size`
<p id="rate_0" onmouseover="showTip(this)" tip="&魔力币 + 20
" class="mtn mbn">
<p id="rate_28" onmouseover="showTip(this)" tip="&魔力币 + 50
" class="mtn mbn">
??? ?? ???? ??? .
主题帖子积分
高级魔法师, 积分 704, 距离下一级还需 296 积分
看看先,MARK一下,学习学习
<p id="rate_03" onmouseover="showTip(this)" tip="楼层沙发奖!&魔力币 + 2
" class="mtn mbn">
主题帖子积分
中级魔法师, 积分 433, 距离下一级还需 67 积分
移动硬盘时不时没问题?
主题帖子积分
高级魔法师, 积分 592, 距离下一级还需 408 积分
看看先,MARK一下,学习学习
主题帖子积分
中级魔法师, 积分 388, 距离下一级还需 112 积分
牛叉啊。。。。。
主题帖子积分
初级魔导师, 积分 2575, 距离下一级还需 925 积分
魔力币1251
先看看。。
主题帖子积分
本帖最后由 指舞如歌 于
12:34 编辑
admin@Zhixu-NAS:/tmp/home/root# /jffs/scripts/S88swap start                                              
No enough partition size!                                                                                
admin@Zhixu-NAS:/tmp/home/root# free                                                                     
             total         used         free       shared      buffers                                   
Mem:       &#       &#      &#           ^       &#                                   
-/+ buffers:             &#      &#                                                             
Swap:           ^          ^          ^                                                            
admin@Zhixu-NAS:/tmp/home/root# /jffs/scripts/S88swap start                                              
dd if=/dev/zero of=/swap/.swap bs=1M count=32                                                            
dd: can't open '/swap/.swap': No such file or directory                                                  
mkswap /swap/.swap                                                                                       
mkswap: can't open '/swap/.swap': No such file or directory                                              
swapon /swap/.swap                                                                                       
swapon: warning: can't stat '/swap/.swap': No such file or directory                                     
.......................................................................                                  
             total         used         free       shared      buffers                                   
Mem:       &#       &#      &#           ^       &#                                   
-/+ buffers:             &#      &#                                                             
Swap:           ^          ^          ^                                                            
....................................................................... 
上面是日志
设置到512M提示内存不足 设置到自动就提示找不到硬盘
硬盘有320G空位。。
我的新浪微博:
& &本人言论仅代表个人观点,与KS论坛管理组 或KS论坛无关
& &性格比较直,上面这话还是先在签名里加上比较稳妥。
主题帖子积分
中级魔法师, 积分 241, 距离下一级还需 259 积分
帅气。。。。。搞个1g内存。嘻嘻
主题帖子积分
中级魔法师, 积分 467, 距离下一级还需 33 积分
谢谢分享&&
主题帖子积分
高级魔导师, 积分 7550, 距离下一级还需 2450 积分
魔力币2197
USB2.0挂个废U盘当虚拟内存还是不错的
主题帖子积分
高级魔法师, 积分 872, 距离下一级还需 128 积分
mark 一下&&学习学习
主题帖子积分
魔力币6192
先顶后看!
& && & 各位亲爱的会员朋友,为了您在论坛不会因为违反规定而被XX!请仔细阅读各板块置顶的帖子!谢谢!还有你这样灌水,我不是没看见,我只是在找合适的机会XX你!!!
主题帖子积分
中级魔法师, 积分 262, 距离下一级还需 238 积分
插硬盘的福利啊,必须支持一下
主题帖子积分
中级魔法师, 积分 376, 距离下一级还需 124 积分
支持 不错不错···········
主题帖子积分
高级魔法师, 积分 821, 距离下一级还需 179 积分
学习学习一下。。谢谢分享
主题帖子积分
初级魔法师, 积分 146, 距离下一级还需 54 积分
虚拟内存是为了当物理内存不够的情况下,将部分应用放在虚拟内存里面运行的。
所以,如果将虚拟内存放在USB2.0的U盘或者移动硬盘里面,性能一般。
也确实对USB设备的伤害挺大的。因为频繁读写太严重了。
所以,要用U盘也是拿个小容量的废旧U盘,8G以下十几块钱,坏了也不心疼&
主题帖子积分
初级魔法师, 积分 119, 距离下一级还需 81 积分
值得一看。谢谢了
主题帖子积分
无法自动建立,好像swap路径有点问题
我的新浪微博:
& &本人言论仅代表个人观点,与KS论坛管理组 或KS论坛无关
& &性格比较直,上面这话还是先在签名里加上比较稳妥。
主题帖子积分
中级魔法师, 积分 376, 距离下一级还需 124 积分
看看,隐藏的是什么
主题帖子积分
admin@Zhixu-NAS:/tmp/home/root# /jffs/scripts/S88swap start                                              
No enough partition size!                                                                                
admin@Zhixu-NAS:/tmp/home/root# free                                                                     
             total         used         free       shared      buffers                                   
Mem:       &#       &#      &#           ^       &#                                   
-/+ buffers:             &#      &#                                                             
Swap:           ^          ^          ^                                                            
admin@Zhixu-NAS:/tmp/home/root# /jffs/scripts/S88swap start                                              
dd if=/dev/zero of=/swap/.swap bs=1M count=32                                                            
dd: can't open '/swap/.swap': No such file or directory                                                  
mkswap /swap/.swap                                                                                       
mkswap: can't open '/swap/.swap': No such file or directory                                              
swapon /swap/.swap                                                                                       
swapon: warning: can't stat '/swap/.swap': No such file or directory                                     
.......................................................................                                  
             total         used         free       shared      buffers                                   
Mem:       &#       &#      &#           ^       &#                                   
-/+ buffers:             &#      &#                                                             
Swap:           ^          ^          ^                                                            
....................................................................... 
上面是日志
设置到512M提示内存不足 设置到自动就提示找不到硬盘
硬盘有320G空位。。
我的新浪微博:
& &本人言论仅代表个人观点,与KS论坛管理组 或KS论坛无关
& &性格比较直,上面这话还是先在签名里加上比较稳妥。
DDOS纪念勋章
DDOS纪念勋章
那些年参与勋章
那些年参与勋章
Powered by