swap设置内存大小
交换分区(SWAP)的大小分配
交换分区(SWAP )的⼤⼩分配什么是swap space (交换空间)?交换分区(swap space)是⼀定磁盘空间(分区或⽂件),⽤于将部分内存中的数据换下来,以腾出内存空间⽤于其他需求。
在⼀个系统中,物理内存的容量是有限的,当物理内存快使⽤完时,操作系统会使⽤交换分区(如果有的话)。
当系统内存使⽤紧张时,操作系统根据⼀定的算法规则,将⼀部分最近没使⽤的内存页⾯保存到交换分区,从⽽为需要内存的程序留出⾜够的内存空间;在SWAP 中的内存页⾯被访问到时,系统会将其重新载⼊到物理内存中去运⾏。
swap in (换⼊):是指页⾯从交换分区转移到内存之中;swap out (换出):是指页⾯从从内存转移到交换分区中。
(这⾥的in/out 是站在内存的⾓度来说的,就好理解了。
)在Windows 、Unix 、Linux 系统中都有交换分区的概念。
Linux 中的交换分区的⼤⼩分配推荐法则曾经,有⼈推荐使⽤物理内存1/2、1倍、2倍的容量作为SWAP 分区的⼤⼩。
随着计算机内容容量的增⼤,如果有16G 内存的机器,分个16G 的Swap 空间,似乎感觉有点浪费磁盘空间,⽽且多数情况下⽤处也并不⼤。
在Linux 系统,我们可以参照Redhat 公司为RHEL5、RHEL6推荐的SWAP 空间的⼤⼩划分原则,在你没有其他特别需求时,可以作为很好的参考依据。
内存⼩于4GB 时,推荐不少于2GB 的swap 空间;内存4GB~16GB ,推荐不少于4GB 的swap 空间;内存16GB~64GB ,推荐不少于8GB 的swap 空间;内存64GB~256GB ,推荐不少于16GB 的swap 空间。
4GB of RAM requires a minimum of 2GB of swap space 4GB to 16GB RAM requires a minimum of 4GB of swap space 16GB to 64GB of RAM requires a minimum of 8GB of swap space64GB to 256GB of RAM requires a minimum of 16GB of swap spaceLinux 中查看swap 的命令可以⽤“cat /proc/swaps”、“swapon -s”、“free”等命令查看Swap 分区的情况。
swap大小设置原则
swap大小设置原则
Swap是指交换分区,用于操作系统在内存不足时将不常用的数据转移到硬盘上,以便腾出更多的内存。
在Linux系统中,swap大小的设置是一个比较复杂的问题,需要考虑多个因素。
1. 系统内存大小
一般来说,系统内存越大,swap大小就越小。
如果系统内存大于16GB,建议将swap设置为内存大小的一半。
2. 应用程序需求
如果运行的应用程序需要大量的内存,建议适当增加swap大小,以免影响系统运行稳定性。
3. 磁盘空间
swap分区是硬盘上的一个分区,需要占用一定的磁盘空间。
在设置swap大小时,需要考虑磁盘空间的限制。
4. 预留空间
建议在磁盘上预留一定的空间,以备不时之需。
综上所述,swap大小的设置应该根据系统内存大小、应用程序需求、磁盘空间和预留空间等因素综合考虑。
一般来说,swap大小应该设置为内存大小的一半。
但是具体情况需要根据实际情况进行调整。
- 1 -。
swap空间不足问题解决
(错误三)Chec kingavail ableswapspace requ ireme nts ...E xpect ed re sult: 1512MBA ctual Resu lt: 1019MBChe ck co mplet e. Th e ove rallresul t ofthischeck is:Faile d <<<<Pr oblem: The syst em do es no t hav e the requ iredswapspace.Re comme ndati on: M ake m ore s wap s paceavail ableto pe rform. the inst all.(从此处来看,急需解决的是如何调整sw ap空间,因为当然V mware的内存为1G,按常规看Swap交换空间应该为2G,下面就是解决swap交换空间的问题)(第一步:使用free-m查看目前swap的交换空间情况,1019M,也可以使用g rep S wapTo tal /proc/memi nfo查看)[roo t@loc alhos t swa pimag e]# f ree -mtotal used frees hared bu ffersc achedMem: 1010 995 15 0 1 847-/+buffe rs/ca che: 145 865Swap: 1019 0 1019(用df –h查看磁盘空间的使用情况)[root@local host~]# d f -hFile syste m Siz e Use d Ava il Us e% Mo unted on/dev/sda2 3.8G 3.1G 572M 85%//d ev/sd a3 15G 1.7G 13G 13% /h ome/dev/sda1 46M 11M 33M 25%/boottmp fs 506M 0 506M 0% /de v/shm(第二步:确保系统中有足够的空间用来做s wap交换空间,经过df –h查看,只有/home下面还有13G的空间是比较大的,所以我这边准备在/home/swapi mage开辟swap交换区)[roo t@loc alhos t hom e]# m kdirswapi mage(在/hom e目录下创建swap image文件夹)[roo t@loc alhos t hom e]# c d swa pimag e/ (进入swa pimag e文件夹)[ro ot@lo calho st sw apima ge]#dd if=/dev/zero of=/swapi mage/swapbs=1024co unt=1024000(添加交换文件并设置大小为1G)1024000+0 r ecord s in1024000+0 reco rds o ut1048576000bytes (1.0 GB)copie d, 16.2007 seco nds,64.7MB/s(再次用df–h查看磁盘空间的使用情况,/home的可以大小已经由13G变成12G 了,也就是说通过上面的dd操作,我们已经成功的分配了1G的swap交换空间)[roo t@loc alhos t swa pimag e]# d f -hFile syste m Siz e Use d Ava il Us e% Mo unted on/dev/sda2 3.8G 3.1G 572M 85%//d ev/sd a3 15G 2.7G 12G 20% /h ome/dev/sda1 46M 11M 33M 25%/boottmp fs 506M 0 506M 0% /de v/shm(第三步:使用mks wap命令,创建(或设置)交换空间)[root@loca lhost swap image]# mk swap/swap image/swapSet tingup sw apspa ce ve rsion 1, s ize = 1048571 k B(第四步:使用sw apon命令,启用新增的1G交换空间)[roo t@loc alhos t swa pimag e]# s wapon /swa pimag e/swa p(使用free–m确认新增的sw ap交换空间已生效,2019)[ro ot@lo calho st sw apima ge]#free-m tota l use d fre e share d b uffer s cache dMe m: 1010 997 1302 848-/+ buff ers/c ache: 146 864Swa p: 2019 02019(第五步:修改/etc/fsta b文件,使新增的1G交换空间在系统重启后自动生效)[ro ot@lo calho st sw apima ge]#vi /e tc/fs tab/swap image/swap swa p sw ap d efaul ts 0 0。
linux下虚拟内存如何设置
linux下虚拟内存如何设置Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。
Linux存在着许多不同的Linux版本,但它们都使用了Linux 内核。
下面是店铺带来的关于linux下虚拟内存如何设置的内容,欢迎阅读!linux下虚拟内存如何设置:swap空间就是虚拟内存,在物理内存不足时,有较大的用处。
查看内存空间大小:free -m // m表示显示的字节单位是m(megabytes)下面我们就来增加系统的 Swap 大小。
1.首先用命令free查看系统内 Swap 分区大小。
free -mtotal used free shared buffers cachedMem: 1002 964 38 0 21 410-/+ buffers/cache: 532 470Swap: 951 32 929可以看到 Swap 只有951M,不符合 Oracle-xe-client 的安装要求。
2.创建一个 Swap 文件。
mkdir swapcd swapsudo dd if=/dev/zero of=swapfile bs=1024 count=100000 出现下列提示,上面命令中的 count 即代表swap文件大小。
记录了 100000+0 的读入记录了 100000+0 的写出102400000 字节 (102 MB) 已复制,0.74704 秒,137 MB/秒把生成的文件转换成 Swap 文件sudo mkswap swapfileSetting up swapspace version 1, size = 102395 kBno label, UUID=09fde987-5567-498a-a60b-477e302a988b3.激活 Swap 文件。
sudo swapon swapfile再次查看 free -m 的结果。
total used free shared buffers cachedMem: 1002 967 34 0 22 410-/+ buffers/cache: 534 467Swap: 1053 32 1021添加成功。
linuxswap交换内存扩容的方法
linuxswap交换内存扩容的⽅法swap交换内存主要是指当物理内存不够⽤时,系统会启⽤硬盘的⼀部分空间来充当服务器内存,⽽默认情况下swap内存会有⼀些设置标准,它与物理内存的⼤⼩也是有关系的,具体标准如下:Ram⼤⼩ Swap⼤⼩激活Swap后合计⼤⼩256MB 256MB 512MB512MB 512MB 1GB1GB 1GB 2GB3GB 2GB 5GB4GB 2GB 6GB6GB 2GB 8GB8GB 3GB 11GB12GB 3GB 15GB16GB 4GB 20GB32GB 6GB 38GB64GB 8GB 72GB128GB 11GB 139GB查看内存空间free -h通过swap分区⽂件增加swap空间1. 创建swap分区的⽂件dd if=/dev/zero of=/data2/swapfile bs=1M count=1024其中bs是每块的⼤⼩,count是块的数量;bs*count,就是swap⽂件的⼤⼩:这⾥1M*1024=1G。
可以根据需要⾃⾏调整。
此外,swapfile是swap⽂件的路径,可以根据需求修改。
2. 格式化交换分区⽂件mkswap swapfile这⾥的路径和之前的路径要对应起来。
3. 启⽤swap分区⽂件swapon swapfile4. 添加开机启动修改/etc/fstab这个⽂件,添加或者修改这⼀⾏:swapfile swap swap defaults 0 0注意,路径还是要对应,⽽且必须是全路径。
最后两个是零,不是⼤写字母O。
此项不是必须的。
如果不修改开机启动配置,重启之后的swap空间会重置,之前配置丢失。
在使⽤java程序时,我们需要设置它的最⼤堆内存,这是对系统的⼀种保护。
到此这篇关于linux~swap交换内存的扩容的⽂章就介绍到这了,更多相关linux~swap交换内存的扩容内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
Swap分区大小设置
Swap分区⼤⼩设置
1、swap分区设置多⼤在每个Linux发⾏版中都各不相同,且在当下内存硬盘的时代下,再组个磁盘阵列之后速度相当。
2、我觉得硬盘⼤的情况下,有多⼤搞多⼤,我只要控制内存的使⽤率在99%时才使⽤swap,且如果是阵列后的内存硬盘,那基本性能不会差到哪⾥去。
3、还有⼀种情况,⽐如数据库服务器(MySQL)这些,与⼀些应⽤服务器,还有当单纯的缓存服务器(Redis)这些配置swap都不⼀样,⽐如数据库服务器和缓存服务器这些就不建议使⽤swap分区,⽐如要绝对100%使⽤内存,并且内存在256G以上。
⽽应⽤服务器这些就针对业务来划分,⽐如秒杀或者响应极⾼的,则内存利⽤率⼀定要⾼。
⽽对于普通的业务,即使去了swap,也影响不了多少。
其它:
在Red Hat Enterprise Linux中,以下是设置合适的交换分区⼤⼩的规则:
物理内存交换分区(SWAP)
<= 4G⾄少4G
4~16G⾄少8G
16G~64G⾄少16G
64G~256G⾄少32G。
linuxswap扩容的操作和流程
linuxswap扩容的操作和流程在Linu某操作系统中,Swap空间通常被用作虚拟内存的一部分,用来暂时存储不常用的内存数据。
当系统中的物理内存不足时,操作系统会将一些不常用的内存数据转移到Swap空间中,以释放物理内存用于更频繁的使用。
如果Swap空间不够大,可能会导致系统性能下降或者程序异常终止。
在这种情况下,可以考虑对Swap空间进行扩容。
下面是扩容Swap空间的操作和流程:1. 确定Swap空间的当前大小:可以使用命令`swapon -s`查看当前Swap空间的信息。
该命令将显示Swap空间的路径、类型、大小等信息。
2. 创建一个用于扩容Swap空间的文件:可以使用`dd`命令来创建一个指定大小的文件。
例如,`dd if=/dev/zero of=/swapfile bs=1Gcount=8`将创建一个名为`/swapfile`的8GB大小的文件。
3. 更改文件的权限:创建的文件应该只有root用户有读写权限。
可以使用命令`chmod 600 /swapfile`来设置文件权限。
4. 创建Swap文件系统:使用命令`mkswap /swapfile`来创建Swap文件系统。
该命令将为被指定为Swap空间的文件添加Swap标识符。
5. 启用Swap空间:使用命令`swapon /swapfile`来启用Swap空间。
可以再次使用命令`swapon -s`来验证新的Swap空间是否已经启用。
`/swapfile swap swap defaults 0 0`7. 验证扩容是否成功:可以再次使用命令`swapon -s`来验证所有Swap空间的信息。
新扩容的Swap空间应该已经显示在列表中。
需要注意的是,扩容Swap空间并不是一项常规操作,应该谨慎进行。
在扩容Swap空间之前,应该评估系统的内存使用情况和需要扩展的Swap空间大小,以确保扩容后的性能能够满足需求。
此外,扩容Swap空间也可以通过创建一个独立的Swap分区来实现。
SWAP设置
Swapper 是设置高速缓存区的工具。
Linux中的Swap(即:交换分区),类似于Windows 的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。
Android是基于Linux的操作系统,所以也可以使用Swap分区来提升系统运行效率。
如果一个程序长时间没有活动,就会被置换到Swap分区(或Swap文件), 释放出内存以提高当前程序的性能“扩展内存”用于非应用程序(例如播放器+浏览器+地图等),需要高级权限及SD卡。
注意:使用Swapper 会缩短SD卡寿命。
新版本增加支持开启Swap分区。
功能相当于电脑的虚拟内存。
相对于蹂躏1k+的机子,我更倾向于蹂躏几十块钱的SD卡。
打个比方,用P2P软件下X片对电脑硬盘伤害很大这个大家都知道,但是你会因为这个停止去下片吗?使用方法:有两种设置高速缓存分区的方式:第一种是创建一个Swap文件到SD卡的Fat32分区,大小可以自定义设置。
第一种貌似很多童鞋都不会设置,简单讲下具体设置情况。
有电脑的话我上下图。
进入软件主菜单,点击设置,把swap位置和swap大小设置好。
高级选项→使用swap分区的勾去掉(很多童鞋反应都是fail很大一部分都是这个勾没去掉,,特别注意一下)→返回进入主菜单→创建swap→swap on →获取信息查看是否已经开启成功。
另一种是你的SD卡已经有Swap分区,但是未开启,那么可以使用它来开启1.首先你必须已经有Swap分区,新手可以使用内置分区功能的Recovery分区2.运行Swapper,点击【设置】找到【高级选项】,3.勾选『使用SW AP分区』,点击下面的『SWAP分区』查看是否与你的SD卡分区相对应,在第三分区。
确定后,返回主界面。
4.点击【Swap ON】,最后点击【获取信息】看看是否开启成功。
成功后第四行Swap: 93864KB 本人实测,后台开照相、音乐、网页、QQ等10来个程序,按小房子瞬间返回桌面!不再出现黑屏20秒或者桌面程序长期无响应!运行速度依然流程!每次开机或设置过swap都会关闭,重新点下swap on就可以swap分区不宜过大,因为sd卡的读取速度实在太慢,设置太大的话,会有太多数据滞留在卡内,拖慢慢系统速度。
swapper2分区及使用
巧建虚拟内存,提高手机运行速度。
作者:木棉藤吉时间:2011-7-25 11:18:00 编辑:木棉藤吉来源:网络转载DroidSwap是用来解决仅配备256MB RAM及以下的安卓手机,运行太多应用程序造成后台软件自动关闭、运行不流畅及卡等现象,尤其适合HTC G1(192MB RAM)、G2和G3(288MB RAM)、华为U8500(256MB RAM)等运行内存较小的安卓手机其他也可使用。
1.合理设置swap分区:DroidSwap的使用方法与“一键省电”类似,都是只需按一下按钮即可看到效果,不过在使用前需要简单设置:安装好该APK软件后,按“Menu”键进入“Configuration”(配置),在下拉菜单中选择“Swap place”选项,为新分区起个好记的名字即可。
2.设置虚拟内存大小:接着进入“Swap size”选项设置分区大小,此处建议将分区大小设置在64MB以下。
注意,笔者测试过选择96MB或128MB,均出现适得其反的效果,虚拟内存太大,读取速度变慢,性能会下降。
但如果是高速卡可选256MB,普通卡建议最大128MB,比较稳定。
3.一键启动Swap分区:在主界面单击顶部“ON”按钮开始启动Swap分区。
整个过程大约持续1-2分钟,期间会有几个“Fail”(失败);不要惊慌,这是因为DroidSwap需先加载后取得ROOT 权限所致。
第一次“ON”显示完成后,再一次单击“ON”直到出现“ALL DONE”启动成功。
用过Linux系统的机油都知道,Linux系统为了最大程度的适用低配置机器,而专门设置了了一个Swap交换分区,以减少对硬件的要求。
Android是基于Linux的,这种方式同样可以应用在Android手机里。
也就是扩展Android手机硬件的内存空间!Swap分区是什么?Swap分区,即交换区,Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。
swap参数
swap参数
在计算机科学中,swap参数通常是指在交换空间(swap space)中使用的参数。
交换空间是用于在物理内存不足时存储部分内存数据的一种磁盘空间。
当系统运行时,如果物理内存空间不足,操作系统会将一些不常用的内存数据存储到交换空间中,以便为其他程序腾出更多的物理内存空间。
在配置交换空间时,可以设置以下参数:
1.大小(Size):交换空间的大小,通常以MB或GB为单位。
可以根据系统
内存的大小和可用磁盘空间来选择适当的交换空间大小。
2.类型(Type):交换空间的类型。
常见的类型包括文件交换空间(file
swap space)和分区交换空间(partition swap space)。
文件交换空间是将一个或多个文件用于交换空间,而分区交换空间则是将磁盘的一个分区用于交换空间。
3.路径(Path):对于文件交换空间,需要指定用于交换空间的文件的路径。
对于分区交换空间,需要指定用于交换空间的分区的路径。
在Linux系统中,可以使用以下命令来配置交换空间:
1.fallocate -l:使用fallocate命令创建一个指定大小的交换文件。
2.mkswap:使用mkswap命令将一个文件设置为交换空间。
3.swapon:使用swapon命令启用一个交换文件。
4.swapoff:使用swapoff命令禁用一个交换文件。
5.swapon -s:使用swapon -s命令查看当前交换空间的配置情况。
这些命令可以帮助你配置和管理交换空间,以提高系统的性能和稳定性。
三星I9300Cache分区开启SWAP虚拟内存
虽说9300的内存不小,但是运行起大量的程序和MIUI等定制系统,内存还是比较吃紧的,大多数时候只有200+的内存,所以SWAP的开启还是有一定的必要那么开在哪里呢?SD卡速度过慢,而且会损伤SD,I9300的cache分区拥有1GB的巨大空间,纯属浪费,不如就在这里开启虚拟内存为了不影响速度,虚拟内存的使用率定为40%,大小为256M经过测试,效果还是比较明显的!【开启:教程】(本套方案仅在MIUI 4.1下测试,4.1 ROM下可用,其他ROM仅供参考)由于官方内核不支持SWAP,使用之前必须先刷入Siyah 1.5版本以上的内核,这里提供基于Siyah 1.8版本内核的教程(注意:刷写内核不会更换您的ROM、清除您的个人信息):(1).先下载清除内核缓存文件zip包:/share/link?shareid=143308&uk=3962364110(2).下载Siyah 1.8版本内核文件:/share/link?shareid=143570&uk=3962364110(3).下载SWAP补丁(已经修复无法启动问题):/share/link?shareid=143556&uk=3962364110(4).将以上三个ZIP包复制到SD卡,并进入Recovery(建议使用本人的工具:/a/gongju/2012/1214/85217.html(5).先刷入清除内核缓存文件zip包,再刷入Siyah 1.8版本内核文件,再刷入SWAP 补丁(6).重启手机,进入系统,SWAP启动完成!【检查:启动】1.用R.E管理器进入cache目录下,检查是否有swap.img,大小是否为256MB左右2.使用终端com.linxmap.androidterminal_28.apk执行su命令,再执行free命令,查看swap一行是否有数据到此,SWAP配置完毕!更多请访问三星I9300专区:/a/zhuanti/samsungi9300.html。
swap设置怎么增加内存
swap设置怎么增加内存swap设置怎么增加内存?首先,要你的rom支持swap,其次需要root,下面是店铺给大家整理的一些相关方法,希望对大家有帮助!swap设置怎么增加内存?1.首先把CreatIMG.sh复制到手机里/data或/system目录下,建议/system.2.更改CreatIMG.sh的权限,如图.确定3.把90userinit复制到/system/etc/init.d/目录下4.修改90userinit权限,跟CreatIMG.sh一样.5.执行CreatIMG.sh.会执行一小会儿时间的,慢慢等.执行完以后会显示一些数据.不予理会.返回.6.重启.用超级终端"free"查看.如果swap值是相应值.恭喜你,成功了.关闭方法1.删除掉/system/etc/init.d/90userinit2.重启3.为了释放空间,删除掉/data或/system(这看你是选择的什么了)目录下的swap.img文件设置swap机身虚拟内存,增加手机运行速度:以往的教程是把swap做到内存卡上的,卡的质量有好有坏,把swap做到卡上无疑是坑了那些内存卡不好的朋友。
所以今天我给介绍大家一种方法,就是把swap做到手机内存里。
手机内存的读取速度和内存卡实在没有可比性,现在我在手机内存里做了64M的swap,手机的运行速度真的有很大提升,和不做swap真的是天壤之别!相信很多做过swap的朋友都有一种一味的追求swap容量大的心理:有的把swap做到256M,甚至512M的。
我可以很负责的告诉你,swap并不是越大越好!为什么呢?要回答这个问题,首先简单的向大家介绍一下swap虚拟内存的原理:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。
那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。
将swap改为内存
2.把CreatIMG.sh复制到手机里/data或/system目录下。
----------------------------------------------------------
/cache目录下剩余空间不大的同学可以把swap分区设置在SD卡中的,方法及相关的手机使用设置,参考我的这个帖子:
3.点击CreatIMG.sh选择执行.在cache目录下生成swap.img文件。并给予swap.img全部权限 。
Hale Waihona Puke 4.把90userinit复制到/system/etc/init.d/目录下。
5.重启完成。
用超级终端查看:su回车,free回车,swap分区不全是0,就是成功了
采用这种方法,SD卡中不再需要swap分区,可以腾出更多空间。但是/cache目录下要有较大的剩余空间才可以。使用一些比较精简的ROM,通常剩余空间较大。我用的是CM240(这个rom挺好的,建议使用),剩余空间100M。所以在内存里设置了60M的swap分区。
具体方法:
将swap分区从SD卡中关掉的方法。删除40swapon和99complete文件,重启,超级终端查看,swap后面全是0就好了。(如果你用的ROM中原来就有99complete文件,那你用原来的替换一下就好。有的rom本身就没有这个文件)但是SD卡中的swap分区仅仅是没有启用,还是存在于SD卡中。不怕麻烦的同学,可以进入recovery,重新将卡分区,删除卡中的swap,这样就不占空间了。
droidswap使用教程
Android
DroidSwap虚拟内存使用教程
DroidSwap目的就是解决G3内存过小而导致运行不流畅及卡的现象,虚拟内存交换文件技术被广泛应用于PC系统如:windows XP,Windows7等。
1、下载-安装-运行-按“Menu”键
2、选择“Configuration”(配置)
3、选择“Setting”(设置)
4、选择“Swap Size”(虚拟内存大小)
5、选择“64M”,注意:此处建议64M以下,本人测试96M、128M均出现适得其反的效果,虚拟内存太大,读取速度变慢,性能会下降。
6、返回到主界面,第一次选择“ON”,整个过程可能要1-2分钟,其中会有几个“Fail”(失败),不要惊慌,这是因为本程序先加载后取得ROOT的问题。
7、等一次“ON”完成显示“ALL Done”,再第二次选择“ON”,全部“OK”一直到“All Done”
PS:本软件测试一周未出现不良现象,请各位机油在运行完成后,按“Menu”——“Configuration”——“Info”查看Swap运行情况。
如为"0",表示不成功!。
解决内存不足导致错误的问题—交换空间(swap)
解决内存不⾜导致错误的问题—交换空间(swap)1. 问题调研mysql问题:error-establishing-a-database-connection-problem;1. 发现error establishing a database connection的问题——稍微查⼀下就知道是数据库的问题2. 去查数据库mysql的err log。
具体位置应该是在/var/log/mysqld.log3. 查了以后我就发现是 out of memory,Cannot allocate memory for the buffer pool的问题了4. google了⼀下,这种问题有两种解决⽅法:⼀种⽅法就是增加swap⽂件,⼀般这种⽅法就⾜够解决问题。
另⼀种就是修改你的innodb_buffer_pool_size编译时报错virtual memory exhausted: Cannot allocate memory 或c++: internal compiler ereor: killed(program cciplus);1. 查询原因,确认是内存空间不⾜导致,直接添加内存或采⽤交换空间⽅式解决;2. Swap空间 Swap分区在系统的物理内存不够⽤的时候,把硬盘空间中的⼀部分空间释放出来,以供当前运⾏的程序使⽤。
那些被释放的空间可能来⾃⼀些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运⾏时,再从Swap分区中恢复保存的数据到内存中。
先来说下swap的⼯作原理: swap 的⼯作我们可以看成是⼀个静态的中转装置。
假如我们的内存是512M的。
当有任务来了但是由于之前任务和并发任务占有了许多的⼯作空间,使得这个⼯作的位置要⼤于512M的空间时,就会导致启动失败。
因为没有它的位置。
这个时候许多的⼯程师和技术⽜⼈们就发明了这个swap空间,即虚拟内存的技术。
Swap交换分区设置
服务器交换分区(Swap) 设置周末的时候HBase集群一台子节点宕机,查看Ganglia及内存使用情况,发现节点Swap空间耗尽,但奇怪的是,系统物理内存却还是非常的富足。
我们都知道Swap空间的作用:Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。
那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。
这样,系统总是在物理内存不够时,才进行Swap交换。
Swap配置对性能的影响:分配太多的Swap空间会浪费磁盘空间,而Swap空间太少,则系统会发生错误。
如果系统的物理内存用光了,系统就会跑得很慢,但仍能运行;如果Swap空间用光了,那么系统就会发生错误。
例如,Web服务器能根据不同的请求数量衍生出多个服务进程(或线程),如果Swap空间用完,则服务进程无法启动,通常会出现“application is out of memory”的错误,严重时会造成服务进程的死锁。
因此Swap空间的分配是很重要的。
那么,真的是当系统物理内存不够用的时候,系统才会使用Swap空间吗?否!他娘的。
其实虚拟内存并不是等到物理内存用尽了才使用的,是否尽量的使用或不使用swap在内核空间有一个参数控制。
cat /proc/sys/vm/swappiness60swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。
对于现在动辄上百G物理内存的服务器来说,究竟为其Linux系统设置多大的交换分区合适呢,为此,引用红帽官方文库里的一段文字进行说明。
?如何修改呢?1.修改此处vm.swappiness=10,但是你会发现重启后又变成60.2.要彻底修改,还是要修改配置/etc/sysctl.conf在这个文档的最后加上这样一行:vm.swappiness=10然后保存,重启。
安卓系统内存优化 Swapper 汉化版 0.2.8
最后启动虚拟内存。在主界面单击顶部“开(ON)”按钮开始启动Swap分区。整个过程大约持续1-2分钟,期间会有几个“Fail”(失败);不要惊慌,这是因为SWAP需先加载后取得ROOT权限所致。第一次“ON”显示完成后,再一次单击“ON”直到出现“ALL DONE”启动成功。
然后就成功了。试着运行几款软件,你会发现,流畅度得到了提升。
swap大小开到256,
swappiness设置到80时,玩PS模拟器,300~500MB左右的游戏时,勉强能玩了,运行有点慢,但不影响玩了(游戏声音要关闭,否则会很卡)。
在这里提醒各位机油,开启swap会对SD卡有损害,请谨慎使用,
如需开机启动swap的话,请把软件安装在内存卡中。
另外推荐一款RAM优化软件:RAM Manager pr
如果你正常使用的话建议SWAP大小开到64,swappiness设置到40,手机使用应该比较的流畅,如果是玩一些不大的游戏时
大小开到96,
swappiness设置到60,比较合适。
本人亲测,swap大小开到128,
swappiness设置到60时,玩GBA模拟器时比较的流畅,无压力。
这款软件可以切换多种RAM管理模式,非常的实用
接着我们在说说swappiness这个选项,它表示着虚拟内存的使用率,
swappiness的值的大小对如何使用swap分区是有着很大的联系的。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swr 2了。
运行软件,你会看到软件界面,然后按“Menu”键进入“Configuration”(配置),在下拉菜单中选择“Swap place(位置)”选项,为新分区起个好记的名字即可。
swap命令
swap交换分区一般只在xen VPS有这种功能,openvz则没有。
swap交换分区可以增加一定量的内存使用,但增加swap分区的最重要的作用是防止网站流量突然增大而导致系统分配内存不够用而死机。
如果你的VPS长期处理使用swap的状态下,建议你检查下程序或VPS,或者升级更大的内存的VPS,因为使用swap交换分区,会使服务器的性能降低很多,导致访问速度变慢。
下面我们来看看如何增加swap交换分区。
1、以root权限登录SSH,键入如下命令创建512M的swap文件(1024 * 512MB = 524288).1dd if=/dev/zero of=/swapfile1 bs=1024 count=5242882、创建Linux交换文件2mkswap /swapfile13、立即激活/swapfile1交换文件3swapon /swapfile14、设置系统自激活交换文件。
编辑/etc/fstab文件,并增加如下第二行代码。
4vi /etc/fstab5/swapfile1 swap swap defaults 0 05、重启系统,使用free -m查看swap大小。
一、增加Swap区1、使用命令查看系统的内存大小free -m可以看出内存大小为503(装的时候配置是512的),swap都为0。
2、增加swap分区使用dd命令创建一个swap分区dd if=/dev/zero of=/home/swap bs=1024 count=1024000这样就建立一个/home/swap的分区文件,大小为1G,再用swapon命令把这个文件分区变成swap分区/sbin/swapon /home/swap再用free -m查看一下,可以看出swap有大小了。
这样还没完成,因为reboot重启系统后,swap分区又变成0了。
为防止重启后swap分区变成0,要修改/etc/fstab文件vi /etc/fstab在文件末尾加上/home/swap swap swap default 0 0这样就算重启系统,swap分区还是有值。
软件简介
软件简介:SW AP设置(Swapper Configuration)v1.7 汉化版,它可以将手机TF卡的一部分容量划分出来作为虚拟RAM,和手机的物理RAM同时使用,因而能加快手机软件和游戏运行速度。
对于那些RAM只有256MB的Android2.3机型而言,有着直观的速度提升,是大型游戏玩家的不二选择。
与同类软件相比,SW AP设置具备分区磁盘读写保护功能,最大限度的延长TF卡的使用寿命。
三、使用方法(其实只要两步,超级简单,为了照顾小白我分为多步来写,尽可能讲得详细些):1、用Root精灵或者KingRoot获取手机的完整权限(相关工具自行百度),注意,这里要求的是完整权限,如果Root过的手机还不能用,说明权限不完整。
2、安装“SWAP设置”软件至手机。
记住,不能装在存储卡里,要装入手机内存中,软件只有40KB,不会占用太大内存。
3、勾选“开机时激活SW AP”选项,此时下方的设置窗口将会自动点亮。
4、SW AP文件大小(MB)的设置方案:安卓虚拟内存软件都一样,对TF卡的速度有严格要求,所以此项设置也是因卡而异,主要设置如下:①、普通卡设置方案:Ⅰ、Class4存储卡(4MB/sec):SW AP文件大小24—32MBⅡ、Class6存储卡(6MB/sec):SW AP文件大小48—64MBⅢ、Class10存储卡(10MB/sec):SW AP文件大小96—128MB②、闪迪高级卡设置方案:Ⅳ、闪迪灰卡Ultra UHS-I系列(30MB/sec):SW AP文件大小200MB(软件系统默认)Ⅴ、闪迪黄卡Ultra UHS-I系列(80MB/sec):SW AP文件大小512—768MBⅥ、闪迪黑卡Ultra UHS-I系列(95MB/sec):SW AP文件大小896MB—4096MB以上数据经过实际实践所得,高速卡可以向下开启较低的虚拟内存,但低速卡不可向上开启过高的虚拟内存,否则会适得其反,减慢手机速度。
ubuntu中swap(虚拟内存)设置方法
ubuntu中swap(虚拟内存)设置⽅法ubuntu(虚拟机)版本16.04 LTS添加swap⽤free查看swap分区⼤⼩free -m创建⼀个swap⽂件夹mkdir swapcd swapsudo dd if=/dev/zero of=swapfile bs=1024 count=100000其中count的⼤⼩对应swap的⼤⼩,如上述代码所⽰count=100000为⼤约100M注:设置count值时要注意,如果设置swap⼤⼩超过硬盘⼤⼩,会导致设置完重启后,虚拟机ubuntu的图形界⾯进不去把⽣成的⽂件转换成swap⽂件mkswap swapfile激活swap⽂件swapon swapfile如果需要每次进⼊都⾃动启动,需修改/etc/fstab⾃动挂载:在⽂件中加⼊/disk2/swap swap defaults 0 0(因为我是在disk2中创建的swap⽂件,所以路径为/disk2/swap)不⾃动启动,则每次重启后,都进⼊swap⽂件夹,⽤swapon swapfile命令激活再次查看swap分区⼤⼩,确定swap设置成功free -m删除swap使⽤完后,删除交换区进⼊swap⽂件夹,关闭swapcd swapswapoff swapfile关闭⾃动挂载(如果没修改过/etc/fstab则跳过此步)vi /etc/fstab在之前添加的语句前加#或则删除注:若没有修改/etc/fstab的权限,保存时会提⽰此⽂件为只读,不能修改。
解决办法:采⽤下述语句保存:w !sudo tee%删除rm -r swapfile我在配置的时候遇到的问题:设置swap⼤⼩时,超过了虚拟机硬盘⼤⼩,导致重启后虚拟机ubuntu图形界⾯进不去了,采⽤以下⽅法解决:ctrl+alt+F1进⼊⽂本模式查看磁盘空间,看是否是因为磁盘空间已满的问题导致⽆法进⼊图形界⾯df -h发现磁盘空间已满,需要删除⼀些⽂件可以采⽤rm -r语句删除⼀些⽂件,也可以⽤前⾯说的⽅法删除swap,重新配置以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
我在这里给你一个方法,可以找到这个大小是多少,下面跟着我一步一步来:
1、用swapoff 关掉所有swap 然后正常运行任务,如果出现内存不足的提示,就需要逐步增加swap
2、一般来讲,物理内存达到256m,在安装时即可不用划分交换分区.。
众所周知,现代操作系统都实现了“虚拟内存”这一技术,不但在功能上突破了物理内存的限制,使程序可以操纵大于实际物理内存的空间,更重要的是,“虚拟内存”是隔离每个进程的安全保护网,使每个进程都不受其它程序的干扰。
Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。
swapfile指的是上一步创建的交换文件。 4)现在新加的Swap文件已经起作用了,但系统重新启动以后,并不会记住前几步的操作。因此要在/etc/fstab文件中记录文件的名字,和Swap类型,如:
/path/swapfile none Swap sw,pri=3 0 0
5)检验Swap文件是否加上
增加Swap空间,分以下几步:
1)成为超级用户
$su - root
2)创建Swap文件
# dd if=/dev/zero of=swapfile bs=1024 count=65536
创建一个有连续空间的交换文件。
3)激活Swap文件
#/usr/sbin/swapon swapfile
/usr/sbin/swapon -s
删除多余的Swap空间。
1)成为超级用户
2)使用Swapoff命令收回Swap空间。
#/usr/sbin/swapoff swapfile
3)编辑/etc/fstab文件,去掉此Swap文件的实体。
4)从文件系统中回收此文件。
#rm swapfile
5)当然,如果此Swap空间不是一个文件,而是一个分区,则需创建一个新的文件系统,再挂接到原来的文件系统上。
续:
最近看到有朋友在我的Blog中问关于Linux环境下swap分区设置的问题,问题如下:“需要设置一个10G的swap分区,是设置成单个10G的好呢,还是5个2G的,还是其他的方案,比如2个5G的分区?”
需要说明一点,并不是所有从物理内存中交换出来的数据都会被放到Swap中(如果这样的话,Swap就会不堪重负),有相当一部分数据被直接交换到文件系统。例如,有的程序会打开一些文件,对文件进行读写(其实每个程序都至少要打开一个文件,那就是运行程序本身),当需要将这些程序的内存空间交换出去时,就没有必要将文件部分的数据放到Swap空间中了,而可以直接将其放到文件里去。如果是读文件操作,那么内存数据被直接释放,不需要交换出来,因为下次需要时,可直接从文件系统恢复;如果是写文件,只需要将变化的数据保存到文件中,以便恢复。但是那些用malloc和new函数生成的对象的数据则不同,它们需要Swap空间,因为它们在文件系统中没有相应的“储备”文件,因此被称作“匿名”(Anonymous)内存数据。这类数据还包括堆栈中的一些状态和变量数据等。所以说,Swap空间是“匿名”数据的交换空间。
如何合理设置Linux的swnux的时候,有多少人关心过它呢?其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。
Swap的原理是一个较复杂的问题,需要大量的篇幅来说明。在这里只作简单的介绍,在以后的文章中将和大家详细讨论Swap实现的细节。
如何设置Swap分区大小
我记得曾经有人对Swap分区大小的设置这样评论过:“只要不怕浪费硬盘的话越大越好,因为linux内核在物理内存完全用完之前不会去动swap”
不过根据我的经验,可能不是这样喔!太大的 swap 空间会造成 kernel 以为有巨大的内存空间而毫不节制的想要把数据捉进内存中,从而导致 kernel 一直在做 memory swap,连带拖慢系统响应时间。
( 内存大小 + Swap分区大小 ) * 80%或70% >= 程序需要占用总内存数
如果系统内存大小已经大于系统中所有任务最大内存使用大小,那么就根本没有必要设置swap分区了,如果这个时候设置上,那么就是白白占用了那些硬盘空间(当然,如果硬盘足够富裕,可以忽略这些占用了)。
看来有必要再写一篇Blog来阐述一下这个问题。
在网络上我经常看到这样的经典问答:
问:我的内存大小是xxx,那么我建立的swap多少才合适?
答:大概物理内存的1倍即可。
我认为这种回答是很不负责任的,所谓1倍内存大小或2倍内存大小的swap分区设置,是给那些对Linux系统不是很熟悉的用户的简单建议,这种设置在桌面Linux下是没有什么问题的,最多是占用一些硬盘空间而已。但是在真正的生产环境下,这种设置是很不合理的一种设置。
如果各位使用的是2.4+内核或者64位的系统,那么可以放心地把swap分区设置的足够大,IBM在针对其Linux 2.4 kernel的文档中明确表明,2.4.10及以后的linux kernel,支持的每块swap最大不超过24GB。
以上的指标数量越大,表示系统越忙。这些指标所表现的系统繁忙程度,与系统具体的配置有关。系统管理员应该在平时系统正常运行时,记下这些指标的数值,在系统发生问题的时候,再进行比较,就会很快发现问题,并制定本系统正常运行的标准指标值,以供性能监控使用。
另外,使用Swapon-s也能简单地查看当前Swap资源的使用情况。例如:
例如:
# vmstat 3
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
0 0 0 0 93880 3304 19372 0 0 10 2 131 10 0 0 99
计算机用户会经常遇这种现象。例如,在使用Windows系统时,可以同时运行多个程序,当你切换到一个很长时间没有理会的程序时,会听到硬盘“哗哗”直响。这是因为这个程序的内存被那些频繁运行的程序给“偷走”了,放到了Swap区中。因此,一旦此程序被放置到前端,它就会从Swap区取回自己的数据,将其放进内存,然后接着运行。
procs下的w
它表示当前(三秒钟之内)需要释放内存、交换出去的进程数量。
memory下的swpd
它表示使用的Swap空间的大小。
Swap下的si,so
si表示当前(三秒钟之内)每秒交换回内存(Swap in)的总量,单位为kbytes;so表示当前(三秒钟之内)每秒交换出内存(Swap out)的总量,单位为kbytes。
三、swap是一个大分区还是多个小分区?
我记得有人说过在fedora和debian的文档中看到过说明,建议swap分区大小不要超过2G。
为什么是2G呢?我觉得首先是由于32位机的文件偏移指针是个无符号整型,所以单个文件偏移最大到2的31次方,也就是2G。其次,旧的文件系统对大文件的支持并不是很好(有点类似Windows环境下FAT文件格式不能有文件大小限制),所以在文档中建议swap分区大小不超过2G(要知道swap是可以在运行过程中动态加载swap文件的)。
对swap的简单介绍在我以前的《如何合理设置Linux的swap分区》这篇文章中介绍过,我在这里就不再介绍了,有兴趣的朋友可以去看一看。
一、swap分区大小是怎么确定的?
其实swap分区的大小设置是很考验Linux系统管理员水平的一件事情,swap的大小是这样决定的:
3、可以在安装后建立交换分区,或者建立交换文件。
BTW:swap还有一个用处,就是在机器lock,出现问题的时候内存的内容会自动copy到swap上面,这样可以有效防止机器故障带来内存中的内容忽然丢失的情况。
二、为什么swap分区不宜过大?
为什么 swap 分区不宜过大,这是由于 Linux 内存分配的特点——它会尽可能多地使用内存(包括swap 分区)。尽量使用内存的目的是加快 IO 处理的速度,比如关掉一个程序,原先占有的内存空间并不立即清空,下一次打开时就不用去硬盘找数据,而直接从内存中读取。但是如果虚拟内存过大,那么保留在内存缓冲区中的数据实际上还是在硬盘中,那对于加快速度就没有多大的作用了。
系统性能监视
Swap空间的分配固然很重要,而系统运行时的性能监控却更加有价值。通过性能监视工具,可以检查系统的各项性能指标,找到系统性能的瓶颈。本文只介绍一下在Solaris下和Swap相关的一些命令和用途。
最常用的是Vmstat命令(在大多数Unix平台下都有这样一些命令),此命令可以查看大多数性能指标。
0 0 0 0 93880 3304 19372 0 0 0 0 109 8 0 0 100
0 0 0 0 93880 3304 19372 0 0 0 0 112 6 0 0 100
…………
命令说明:
vmstat 后面的参数指定了性能指标捕获的时间间隔。3表示每三秒钟捕获一次。第一行数据不用看,没有价值,它仅反映开机以来的平均性能。从第二行开始,反映每三秒钟之内的系统性能指标。这些性能指标中和Swap有关的包括以下几项:
swap 分区对于物理内存小的机器是必不可少的,假设物理内存只有64M,而某个程序启动最少要256M,如果没有足够的虚拟内存,这个程序是根本打不开的(系统会报内存不足错误,甚至崩溃)。对于程序而言,物理内存和虚拟内存是没有任何区别的,它们只关心空间是否够大。在物理内存够用的情况下可以适当分配一些空间给 swap ,这仅仅是为了偶尔同时开很多大家伙时,防止出现内存不足错误。