vmware swapfilee弄好了怎么不增加ram

How To Add swap on Ubuntu & 社区 & Ruby China
最近公司几款游戏的staging server是用的是DO的$5的套餐,配置是512M的内存,装了很多软件,在用cap做部署的时候经常报出了内存不足的错误,选择使用swap(交换分区)的方法来一定程度上缓解这个问题。
swap(交换分区)是当计算机物理内存不足时用来暂时存储数据的地方,占用的是硬盘空间,当内存不足时候会将内存中不活跃的页转移到swap。swap在一定程度上可以缓解内存不足
的情况,但是由于存在IO交互,效率存在问题。总的来说,当你的内存不足时候为了继续运行,使用swap是一个不错的方案。下面来介绍一下如何在Ubuntu14.04中来增加swap(PS:我
在DO的vps默认是没有swap的)
1.查看操作系统的swap的信息
我们可以通过输入以下命令查新系统的swap信息:
sudo swapon -s
这时候看到系统中没有交换空间,另外可以通过free查看当前系统的内存和交换空间的使用情况:
-/+ buffers/cache:
2.查看磁盘当前可用空间
在创建swap之前首先要查看当前磁盘的可用空间,可以通过df命令来查看:
Filesystem
Used Avail Use% Mounted on
0% /sys/fs/cgroup
0% /run/lock
0% /run/shm
0% /run/user
可以看到磁盘还有接近20G的空间,可以腾出1G来做swap,默认情况下认为swap为RAM的2倍比较合适,不过这个看个人的需求,我的RAM为1G,因此加上2G swap就够了,不过
还是创建了4G的空间。
3.创建swap文件
要创建swap,首先在文件系统创建一个文件,我们在root(/)下创建一个叫swapfile的文件,这个文件必须有足够的大小来做swap,有两种方式可以来创建swap文件:
3.1传统的慢的方法:
sudo dd if=/dev/zero of=/swapfile bs=1G count=4
ls -lh /swapfile
-rw-r--r-- 1 root root 4.0G Jan 26 01:43 /swapfile
3.2快速方法:
sudo fallocate -l 4G /swapfile
ls -lh /swapfile
-rw-r--r-- 1 root root 4.0G Jan 26 01:50 /swapfile
4.格式化swap文件
当创建好了swap文件之后OS并不知道这个文件的用途,因此我们需要告诉操作系统创建好的文件用作swap。在格式化之前我们必须保证交换空间仅能为root只读,因此需要输入:
sudo chmod 600 /swapfile
ls -lh /swapfile
-rw------- 1 root root 4.0G Jan 26 01:43 /swapfile
可以看到/swapfile文件为root只读。接下来通过mkswap来格式化swap文件:
sudo mkswap /swapfile
Setting up swapspace version 1, size = 4194300 KiB
no label, UUID=e2f1e9cf-c0a9-4ed4-b8ab-714b8a7d6944
文件已经为操作系统识别的swap,通过swapon来加载当前到操作系统:
sudo swapon /swapfile
通过以下命令可以验证是否创建成功:
sudo swapon -s
-/+ buffers/cache:
5.持久化swap
通过上面创建的交换空间当机器重启的系统不会自动挂载交换空间,我们需要更改fstab文件来自动挂载:
sudo nano /etc/fstab
在文件最后一行输入:
保存文件即可。
6.调节swap设置
注意:在设置交换空间的时候有一些参数影响到系统的性能,需要我们手动来调节。
swappiness参数代表着系统使用交换空间的频率,位于0-100之间,0代表着内核尽可能减少向磁盘交换数据,除非RAM完全被耗光。100代表这尽可能使用交换空间,给RAM腾空间
我们可以看到:
cat /proc/sys/vm/swappiness
对于PC机器,60应该是不错的配置,但是对于VPS来说,最好是接近于0,减少swap交互,除非RAM真正被耗光。因此通过增加下面几行来调整swappiness到10。
sudo sysctl vm.swappiness=10
vm.swappiness = 10
这个值在重启之后会自动恢复为默认,因此我们需要设置为开机自动设置:
sudo nano /etc/sysctl.conf
在末尾加上:
vm.swappiness=10
保存文件退出。
另一个比较重要的配置是vfs_cache_pressure,该文件表示内核回收用于directory和inode cache内存的倾向;缺省值100表示内核将根据pagecache和swapcache,
把directory和inode cache保持在一个合理的百分比;降低该值低于100,将导致内核倾向于保留directory和inode cache;增加该值超过100,将导致内核倾向于
回收directory和inode cache。
cat /proc/sys/vm/vfs_cache_pressure
默认为100的值时候系统移除inode的频率过高,我们可以通过设置为50来调整频率:
sudo sysctl vm.vfs_cache_pressure=50
vm.vfs_cache_pressure = 50
同上,重启过后会自动恢复为默认值,因此需要设置为开机自动设置:
sudo nano /etc/sysctl.conf
vm.vfs_cache_pressure = 50
保存文件即可
swap在我们遇到内存不足的时候是一个不错的选择,尤其像DO的$5套餐的机器,配置好swap可以灵活的帮助我们对机器的使用。
暂无回复。
后回复方可回复, 如果你还没有账号你可以
一个帐号。
false.blank? 的结果是 true 哦!404 Blog Not Found:tips - MacBook、特にAirではRAMディスクは無駄な理由
The requested blog was not found -- unless you requested that of Dan Kogai (小飼 弾).
tips - MacBook、特にAirではRAMディスクは無駄な理由
これ、MacBook Air に限らずSSDの寿命を気にする人がよくやっている手ではあるのですが…
速い(気がする)
全くの無音なのでコンパイルの息遣いを感じたりすることができない
寿命が気になる
書き込みを減らすために、RAMディスク作った。
MacBook Airに関しては無駄です。
少なくとも、RAMディスクを作っただけでは。
その理由が、こちら。
% ls -l /var/vm/
total 4718592
-rw------T
Jun 12 18:52 sleepimage
-rw-------
Jun 11 04:44 swapfile0
-rw-------
Jun 12 18:52 swapfile1
-rw-------
Jun 12 18:52 swapfile2
-rw-------
Jun 12 18:52 swapfile3
sleepimageというファイルが見えるでしょうか?搭載RAMと同じサイズです。
今日日のMacBookは、二種類のスリープを使い分けています。「サスペンション(suspension)」と「ハイバネーション(hibernation)」。前者はRAMに通電し、後者はRAMの内容をディスクに落とした上でRAMへの通電もやめます。そこまでは他のWintelノートと同じなのですが、Wintelノートではどちらにするか明示的に指定しなければならないのに対し、MacBookでは、スリープが一定時間以上続くと、スリープしている間にサスペンションからハイバネーションに切り替わります。
このあたりの詳しいことは、man pmsetで確認することができます。
DEEP SLEEP ARGUMENTS
deepsleep causes kernel power management to automatically hibernate a
machine after it has slept for a specified time period. This saves power
while asleep. This setting defaults to ON for supported hardware. The
setting deepsleep will be visible in pmset -g if the feature is supported
on this machine.
deepsleep only works if hibernation is turned on to hibernatemode 3 or
deepsleepdelay specifies the delay, in seconds, before writing the hiber-
nation image to disk and powering off memory for Deep Sleep.
省電力関連の設定をデフォルトのままにしてある私の MacBook Air (3,2)では、こうでした。
% pmset -g
Active Profiles:
Battery Power
Currently in use:
deepsleepdelay 4200
hibernatefile /var/vm/sleepimage
disksleep 10
hibernatemode 3
ttyskeepawake 1
displaysleep 2
deepsleep 1
要するに、スリープ開始後4200秒=70分経つと、/var/vm/sleepimageが使われるというわけです。別の言い方をすると、RAM 2GBなら2GB、RAM 4GBなら4GB、SSDに書き出されると。
RAMディスクのために使用されている領域も含めて。
このあたりの設定をApple標準のPreference Paneよりも細かく設定するSmart Sleepというものがあることにはあります。
が、ページにあるようにあくまで MacBook および MacBook Pro 用で、deepsleepに対応しているかどうかは未知数。ちなみにdeepsleepと他との違いは、いつsleepimageに書き出すか。deepsleepではスリープ後、そうでない場合はスリープ前で、それを使うかどうかは復帰時次第。MacBook 5,1ではサポートしていませんでした。
手短にまとめると、デフォルトの動作はこのようになります。
以前のMacBookのようにdeepsleepをサポートしていないモデルでは、スリープ開始前にRAMの内容を書き出した上でRAMにも通電しておく(完了したら、スリープインディケーターのLEDが点灯)。どちらから復帰するかはバッテリーのレベル次第。ディスクから復帰する場合にはバーグラフが出る。
最新のMacBook Proを持っている人のレポート希望
MacBook Air (Late 2010)のようにdeepsleepをサポートしたモデルでは、RAMの内容を書き出さずにRAMにも通電しておく(スリープインディケーター不要)。deepsleepdelayで指定された時間が経ったら、RAMの内容を書き出した上でRAMも電源オフ。
というわけで、MacBook AirでRAMディスクを使ってSSDをいたわるためには、スリープしてはならない、少なくとも何らかの形で/var/vm/sleepimageへの書き込みを阻止しなければならないという結論になりました。そういう利用シーンがあることにはあります。型落ちのMacBookをサーバーに転用するとか。そうでもないかぎり、RAMディスクは使わない方がよいでしょう。
Dan the Man with Too Many MacBooks to Nurse
おまけ:RAMディスクのパフォーマンス
確かに高速ではあります。
RAMの確保も作成時ではなく使用時なので、メモリーの無駄遣いにもあまりなりません。しかしと違って、ファイルを削除したらただちにメモリーが解放されるということはなく、また OS X に限らず最近の *nix はディスクキャッシュが優秀だということもあり、使いどころがきわめて限定されるというのもまた事実です。
% diskutil erasevolume HFS+ "ramdisk" `hdiutil attach -nomount ram://8388608`
% dd if=/dev/zero of=./zero.fill bs=1m count=4096
4096+0 records in
4096+0 records out
bytes transferred in 52.514180 secs ( bytes/sec)
% dd if=/dev/zero of=/Volumes/ramdisk/zero.fill bs=1m count=4096
dd: /Volumes/ramdisk/zero.fill: No space left on device
4076+0 records in
4075+0 records out
bytes transferred in 5.139586 secs ( bytes/sec)
% dd if=/dev/zero of=/dev/null bs=1m count=4096
4096+0 records in
4096+0 records out
bytes transferred in 0.515878 secs ( bytes/sec)
MacBook Air 3,2
diskutil erasevolume HFS+ "ramdisk" `hdiutil attach -nomount ram://2097152`
% dd if=/dev/zero of=./zero.fill bs=1m count=1024
1024+0 records in
1024+0 records out
bytes transferred in 5.549849 secs ( bytes/sec)
% dd if=/dev/zero of=/Volumes/ramdisk/zero.fill bs=1m count=1024
dd: /Volumes/ramdisk/zero.fill: No space left on device
1012+0 records in
1011+0 records out
bytes transferred in 2.466265 secs ( bytes/sec)
% dd if=/dev/zero of=/dev/null bs=1m count=1024
1024+0 records in
1024+0 records out
bytes transferred in 0.210066 secs ( bytes/sec)
やはりMacbook Proはdeepsleepをサポートしていないようです。SSDがオプションである以上妥当な線ではありますが…
.@ 店頭のDEMO機を使用し、MacBook Pro 13, 15, 17inch でpmset コマンドを実行してみたところ、deepsleepdelay の項目はありませんでした。SSD搭載モデルでは無いのですが、これで検証になりますでしょうか?PLUSYU
.@ スクリーンショットはこちらになります。i5が13inch、i7 2.0Ghzが15inch、i7 2.2Ghzが17inchになります。 ///hs5bonpPLUSYU
Posted by dankogai at 20:30││
この記事へのトラックバックURL
情報を記憶:经验347 米
在线时间63 小时
积分 422, 距离下一级还需 78 积分
积分 422, 距离下一级还需 78 积分
机型MOTO Defy+
RAM常年保持在70%以上。
有软件能让RAM共享ROM的空间吗?
经验160 米
在线时间258 小时
积分 350, 距离下一级还需 150 积分
积分 350, 距离下一级还需 150 积分
机型MOTO Defy
你可以用虚拟内存
经验1599 米
在线时间52 小时
版本5.5.29
积分 1746, 距离下一级还需 254 积分
积分 1746, 距离下一级还需 254 积分
机型小米手机3/4 WCDMA版
签到次数147
MIUI版本5.5.29
你可以重新分区手机内部储存空间。像我的NexusS所有空间全都是建立在内部存储上的。包括系统分区,用户分区,缓存分区和外部USB储存空间都是建立在手机内部自带的16G空间上。所以我可以用Open Recovery模式下用数据线连接手机内部存储。然后使用PQ或者PM等分区工具,在不损坏现有数据的情况下,重新分配手机各个功能分区的空间大小。
建议不要贪图超大RAM,因为RAM过大会严重拖慢手机运行速度也会严重消耗电量。
经验347 米
在线时间63 小时
积分 422, 距离下一级还需 78 积分
积分 422, 距离下一级还需 78 积分
机型MOTO Defy+
能详细说说?谢谢了。
经验347 米
在线时间63 小时
积分 422, 距离下一级还需 78 积分
积分 422, 距离下一级还需 78 积分
机型MOTO Defy+
在16G的内置卡上调整分区也会影响耗电量和系统速度吗?
经验122497 米
威望1066 米
在线时间6520 小时
机型小米手机3/4 WCDMA版
签到次数212
MIUI版本5.6.5
这个楼主的想法很前卫
但是实际是无法实现的,至少现阶段还不能实现,不然的话MS也不会出现那么悲剧的情况了,运存过少
一来是MOTO锁了BL,二来ROM与RAM是两个不一样的介质的
其实楼主也不用在运存这台纠结,defy512的RAM完全够用了
系统占用了一定空间,剩下200M左右的空间完全可以保证了系统 的流畅运行了
这是我的看法,说的不好还望见谅
欢迎关注MIUI-团支书
经验19579 米
在线时间1033 小时
荣誉解答组
机型Samsung I9500
签到次数109
MIUI版本5.6.5
还能像PC一样升级加内存条吗?想法确实前卫
经验160 米
在线时间258 小时
积分 350, 距离下一级还需 150 积分
积分 350, 距离下一级还需 150 积分
机型MOTO Defy
有一个软件叫内存扩展还是什么的,原理就是在sd卡上面生成一个swapfile文件,当作虚拟内存使用的,以前玩moto e6 的时候用过这种软件,因为e6 内存实在太小了没办法,原理差不多,以前在什么市场上看到过这类的软件,个人觉得没必要,所以没有安装使用,你可以试试看
经验347 米
在线时间63 小时
积分 422, 距离下一级还需 78 积分
积分 422, 距离下一级还需 78 积分
机型MOTO Defy+
内存当然是越大越好。总看见预警的提示不舒服啊。我承认我有偏执狂的倾向。
好像Android有自动内存回收机制。不知道现在的阀值是多少。
如果MIUI里面能自定义一个就好了。
谢谢支书盖章。
经验347 米
在线时间63 小时
积分 422, 距离下一级还需 78 积分
积分 422, 距离下一级还需 78 积分
机型MOTO Defy+
我找找。找到了回来发试用的帖子。
小米平板首发纪念勋章
小米平板首发纪念勋章
小米手机1终身荣誉勋章
小米手机1终身荣誉勋章
MIUI 3000万
MIUI 3000万发烧友纪念勋章
MIUI 2000万
MIUI 2000万发烧友纪念勋章
MIUI6 荣誉勋章
MIUI6 荣誉勋章
1000万用户纪念勋章
MIUI1000万用户纪念勋章
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
MIUI 100周
100周发布纪念勋章
MIUI俱乐部发烧友
MIUI俱乐部发烧友
小米手机元器件合体活动勋章
小米求合体勋章
一周年纪念勋章
一周年纪念勋章
MIUI三周年
MIUI三周年纪念勋章
已关注微信
Copyright (C) 2015 MIUI 京ICP备号Ubuntu Linux创建和增加Swap分区教程_Linux教程_Linux公社-Linux系统门户网站
你好,游客
Ubuntu Linux创建和增加Swap分区教程
来源:Linux公社&
作者:又耳宁
问:我是一个 14.04 LTS版本的新手。我需要一块额外的swap文件来提高我Ubuntu服务器的性能。我怎样才能通过SSH连接用相关命令为我的Ubuntu 14.04 LTS 增加一块swap分区。
Swap文件除了作为一块磁盘存储以提高Ubuntu系统的内纯使用效率意外,什么都不是,在本教程,你将会学到如何在Ubuntu系统上去创建以及使用Swap文件。
在Ubuntu服务器版或者桌面版,什么是Swap文件?
作为系统管理员是很有必要在系统安装完成后为其添加额外的swap文件,而swap文件也可以让Ubuntu 去使用硬盘去提高虚拟内存。
Virtual Memory = RAM + Swap space/file
Virtual Memory (1GB) = Actual RAM (512MB) + Swap space/file (512MB)
当Ubuntu服务器运行时内存不足,它交换一段RAM(比如foo空闲程序)到硬盘(交换空间)释放内存的其他程序。然后当你需要这个程序(比如foo再次),内核将会交换Foo程序,它会通过RAM里的里一个程序改变位置。
在Ubuntu添加swap分区的步骤
打开一个Terminal应用程序或者使用SSH客户端远程连接服务器,通过sudo命令登陆为root用户
创建swap分区命令
在Ubuntu上输入下面命令创建2GB swap分区
# dd if=/dev/zero of=/swapfile bs=1G count=2
records in
2+0 records out
bytes (2.1 GB) copied, 20.2256 s, 106 MB/s
验证在服务器上以创建的分区
# ls -lh /swapfile
-rw-r--r-- 1 root root 2.0G Oct 29 14:07 /swapfile
用fallocate命令创建swap分区
除了dd命令,还可以更快的。如下:
# fallocate -l 1G /swapfile-1# ls -lh /swapfile-1
-rw-r--r-- 1 root root 1.0G Oct 29 14:11 /swapfile-1
保护swap分区
处于安全角度,输入下面的chmod和chown命令保护以及设置正确文件权限
# chown root:root /swapfile# chmod 0600 /swapfile# ls -lh /swapfile
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=e55-4dd3-a892e7137
-rw------- 1 root root 2.0G Oct 29 14:07 /swapfile
一个所有人可读的swap分区是一个重大的本地漏洞。上面的命令确保只有root用户有可读可写权限。
启动swap分区
# mkswap /swapfile返回结果
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=e55-4dd3-a892e7137
最终激活swap分区# swapon /swapfile
&在Ubuntu上验证并设置
输入以下命令
# swapon &s
Filename& & & & & &
Type& & & & Size& & Used& & Priority
/dev/sda5& & & & & & & & & & & & & & &
/swapfile& & & & & & & & & & & & & & &
file& & & &
你也可以运行下面命令去验证创建的交换分区以及它的用法
怎么在Ubuntu上禁用swap分区?
你可以使用以下命令
# swapoff /swapfile# swapon &s
更新/etc/fstab 文件
你需要在重启后确保swap分区在服务器在线后启用,编辑/etc/fstab文件。输入:
# vi /etc/fstab
增加一行,如下:
/swapfile none& & & & & & swap& & sw& & & & & & & 0& & &
保存并退出
调整swap分区,即调整虚拟分区
你可以调整下面的两个选项
虚拟运存控制(swappiness)
最小释放字节数(min_free_kbytes)
虚拟文件缓存压力(vfs_cache_pressure)
怎样在Ubuntu上设置swapiness
语法如下:
# sysctl vm.swappiness=VALUE# sysctl vm.swappiness=20
# echo VALUE & /proc/sys/vm/swappiness# echo 30 & /proc/sys/vm/swappiness
在/proc/sys/vm/swapiness的值控制着内核怎样强制的交换内存空间,更高的值对应着增加强制性强度,相反更低的值对应着减小强制性强度。默认的值是60。为了永久生效在/etc/sysctl.conf文件里加入一行命令,如下:
echo 'vm.swappiness=30' && /etc/sysctl.conf
如果针对数据库,如或者MySQL,小编建议你设置swapiness的值为10。需要更多的信息请访问
如何在Ubuntu 14.04中创建SWAP交换分区文件&
如何扩展/删除SWAP分区
在OpenStack虚拟机实例中创建SWAP分区的一种方法
Linux 中交换空间 (SWAP)应该分多大才好?
Linux SWAP 分区建立及释放内存
Linux SWAP 交换分区配置说明
Ubuntu 12.04的SWAP设置
更多Ubuntu相关信息见 专题页面
英文原文:
译者:又耳宁
原创翻译& 推出
本文永久更新链接地址:
相关资讯 & & &
& (12/18/:11)
& (12/30/:50)
图片资讯 & & &
   同???评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款}

我要回帖

更多关于 win8 swapfile.sys 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信