FreeBSD中swap分区怎么设置

FreeBSD中swap分区怎么设置,第1张

使用free命令带上m参数,查看swap文件大小,官方建议在RAM是2到45G时,swap是RAM的2倍;如果RAM大于等于4G则swap等于RAM即可
也可用cat 查看etc目录下的swaps文件,
使用mkswap命令制作一个swap文件
使用swapon启动swap文件
使用dd命令增加1G内存
再次使用free查看,发现swap确实增加了1G
05但是这个只对当前有效,如果想下次重启系统后还继续有效,需要将配置写入到etc/fstab文件中
所以,我们配置一下fstab文件中的内容。
swap文件增加后

分区开启比较麻烦一些!不过的确是可以的。1、修改/system/etc/enhancedconf,将swapadd改为/sdcard,其他地方也可以改一下,改后如下#请一定确认输入正确,否者会导致出错# Set your SWAP file#在下面等号后输入你需要的swap的文件的位置,可输入/sd-ext,/sdcard 或者如/sd-ext/swap这样的位置,默认为/sd-ext。此选项仅在文件方式开启swap时有效。#如果要设置到/sdcard,请确认安装设置了双重挂载插件或者USB连接电脑前关闭swap功能SWAPADD=/sdcard#在下面等号后输入你需要的swap的文件的大小,单位为MB,默认为64,请确定有足够的空间建立swap文件(建议大于30MB,小于100MB),此选项仅在建立swap文件时有效。SWAPSIZE=64#在下面等号后输入手机使用SWAP的优先率,范围为0-100,默认为35。1为最大限度使用手机内存,100表示最大限度的使用SWAP虚拟内存。此选项在swap分区与swap文件时均有效。SWAPPINESS=35#在下面等号后输入你需要的备份还原模式所对应的数字。0表示备份数据(不打包)到sd-ext分区;1表示备份数据(打包)到sdcard;2表示备份程序和数据(打包)到sdcard。默认为1。BACKUPMODE=1复制代码2、进入/sbin/gk,运行swap脚本3、开启后一定要注意,不能卸载SDCARD,也不能usb连接电脑哦。不然会出错。

前几天尝试用一台新的服务器进行开发,运行两个Node进程后CPU占用率直接上升到100%,开始以为是Node版本问题,切换版本后仍存在这个问题,使用 top 命令查看运行中进程,发现一个名为 kswapd0 的进程占用极高的CPU,这个进程的作用其实是在内存不足时将暂时用不到的数据转存到虚拟内存(Swap分区),而刚好我的服务器没有设置Swap分区,才导致CPU占用率过高,看来问题的原因找到了,接下来只需要设置Swap分区即可。

如果没有任何输出,表明系统没有配置swap

确保有足够的空间创建Swap分区

以上命令会在根目录创建大小为1G的文件,大小可根据需要进行调整,一般取和内存一般大小

验证是否创建成功

修改分区文件的权限,只允许 root 用户进行读取

将其标记为swap分区

启用分区,允许系统开始使用

再次检查系统分区

如果输出类似

表示分区已经创建成功

目前已经在当前会话的启用的swap分区,但是如果系统重新启动,分区就会消失,我们可以通过修改 /etc/fstab 的配置来使分区持久化

swappiness 参数配置系统使用swap分区的频率,数字越小,系统对swap的依赖越小,如果设置为接近0的数字,那么内核只有在绝对必要情况下才会将数据交换到磁盘。应为和硬盘交换数据比RAM慢的多,所以这个数字越小,通常会让系统加快

查看当前swappiness

临时修改swappiness

永久修改(推荐)

/etc/sysctlconf

增大 vfs_cache_pressure 的值会让系统倾向于删除缓存中inode和dentry信息,进而导致系统频繁访问文件系统,我们可以通过输入以下内容将其设置为更保守的设置,例如50:

只在当前会话生效

永久修改(推荐)

/etc/sysctlconf

有人对Swap分区大小的设置这样评论过:“只要不怕浪费硬盘的话越大越好,因为linux内核在物理内存完全用完之前不会去动swap” 不过根据我的经验,可能不是这样喔!太大的 swap 空间会造成 kernel 以为有巨大的内存空间而毫不节制的想要把数据捉进内存中,从而导致 kernel 一直在做 memory swap,连带拖慢系统响应时间。
老实说,1G RAM 如果不跑 p2p 之类的东西,那设个 256MB 就够用了;有 2G 的话连设都不要设。
另外如果说真的因为某一软件确实需要巨大内存空间才能运作的话,那只好在 swap 上动手脚,但为了效能最好分散在多个实体硬盘上(等于类似 raid 效果)! 其实如何设置Swap分区的大小是最能检查一个Linux系统管理员的水平的测试,Swap到底该如何设置呢?我是这样认为的:首先我们需要了解这台服务器都要运行哪些程序、他们各自占用的内存大小为多少,经过确切的检查后,Swap分区的大小可以这样确定: ( 内存大小 + Swap分区大小 ) 80%或70% = 程序需要占用总内存数 Swap分区在程序测试期间也有很大的用途,例如管理员能够通过Swap分区的使用状况,监测系统内存是否出现泄露,同时对Web项目等应用也可以提供一个比较好的流量峰值缓冲作用。一个Linux系统管理员要能够通过监测Swap分区的使用情况,对系统、程序有一个合理的评价。

linux调整swap的方法大致有三种:1如果linux的磁盘分区类型是lvm的类型的话建议直接用lvm进行在线的扩展收缩swap的大小。2在标准分区小我们可以使用我们的划分分区的方法加入swap中。3标准分区小我们可以使用文件的方式把swap的分区扩大。分区扩展:fdisk/dev/hdan···(创建分区)mkswap/dev/sda3(指定该SWAP分区)swapoffswapon/dev/hda3(开启swap分区)vim/etc/fstab(写入开机启动)free-s文件扩展:查看目前系统swap:swapon-s决定SWAP文件的大小,先指定区块大小:bs,再指定区块数量count,则SWAP文件的大小是:countbs在root用户下执行如下命令:ddif=/dev/zeroof=/swapfilebs=1Mcount=2048指定作为交换区的文件:mkswap/swapfile激活交换区文件:swapon/swapfile开机时启用swap,在/etc/fstab添加如下内容:/swapfileswapswapdefaults0确认swap已经被使用,另外在/目录可以看到文件swapfile基本上的 *** 作是这个样子的建议您查看下linux就该这样学的相关资料,希望能够帮助您,注意swap的大小要适中

开分区:进入recevery
打开advance一项有ext和swap分区设置进入设置分区大小,然后重启,《也可用电脑软件》
挂载分区:进入手机终端模拟器,输入su获取权限再输入
busybox
mkswap
/dev/block/mmcblk0p3挂载swap分区输入free看最底下一项是否不为0,如不为0既已挂载上,用s2e软件挂载ext分区

swap 一般都在一个专有的swap区里,这可能是因为在安装的时候系统会提示你创建一个swap区。但实际上任何文件都可以被用作swap(交换设备),无论是一个分区或是一个简单的文件。尽管如此,为了更好的体验效果和感应速度,还是建议使用大容量的内存,而不是依赖swap。可以通过添加一个swap文件来增加swap。
共分四步
创建一个你预设好大小的文件。
将该文件格式化成swap(交换设备)。
将swap添加到现有系统中。
在系统里作一个永久性变更。
要添加一个512M的swap
创建一个512M的文件:
我们会在 /mnt/512Mbswap 上创建一个swap文件。
sudo dd if=/dev/zero of=/mnt/512Mbswap bs=1M count=512
代码中的 count=512 的意思是我们要创建文件,其中包含了512个 bs=1M (bs = block size 区块大小; 1M=1mebibyte 一兆 =1048576 bytes 字节)的区块。 请注意 不要 使用 dd of=/mnt/512Mbswap bs=1M seek=512 count=0 这条命令。虽然文件会马上增长到512Mb,但是这是有漏洞的,可能会造成无法使用。
格式化文件,使之成为swap(交换设备):
sudo mkswap /mnt/512Mbswap
将swap加入到现有系统中:
sudo swapon /mnt/512Mbswap
现在新增的swap可以通过” cat /proc/meminfo “命令看到。
做永久性变更:
编辑 /etc/fstab 文件:
gksudo gedit /etc/fstab
在文件末尾加上如下一行:
/mnt/512Mbswap none swap sw 0 0
保存并重启。
一个swap文件的示例
如下的例子展现了在一台没有swap分区的电脑上创建和使用swap。
user@computer:~$ sudo dd if=/dev/zero of=/mnt/512Mbswap bs=1M count=512
Password:
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 353802 seconds, 152 MB/s
user@computer:~$ sudo mkswap /mnt/512Mbswap
Setting up swapspace version 1, size = 536866 kB
no label, UUID=dd6a01c8-93f0-41e0-9b7a-306956d8821b
user@computer:~$ sudo swapon /mnt/512Mbswap
user@computer:~$ cat /proc/meminfo
MemTotal: 499496 kB
MemFree: 9156 kB
Buffers: 4748 kB
Cached: 233140 kB
SwapCached: 724 kB
Active: 254432 kB
Inactive: 157920 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 499496 kB
LowFree: 9156 kB
SwapTotal: 524280 kB
SwapFree: 523556 kB
Dirty: 128 kB
Writeback: 0 kB
Mapped: 243420 kB
Slab: 20672 kB
CommitLimit: 774028 kB
Committed_AS: 648680 kB
PageTables: 2224 kB
VmallocTotal: 524280 kB
VmallocUsed: 5708 kB
VmallocChunk: 518176 kB
user@computer:~$ gksudo gedit /etc/fstab
user@computer:~$ free
total used free shared buffers cached
Mem: 499496 479488 20008 0 8256 215892
-/+ buffers/cache: 255340 244156
Swap: 524280 3856 520424
#####Then, after running a few more programs
user@computer:~$ free
total used free shared buffers cached
Mem: 499496 492768 6728 0 1240 142336
-/+ buffers/cache: 349192 150304
Swap: 524280 53384 470896
#####Next, reboot to make sure it will work consistently
user@computer:~$ free
total used free shared buffers cached
Mem: 499496 493136 6360 0 7528 174700
-/+ buffers/cache: 310908 188588
Swap: 524280 17148 507132
撤销你的变更 :
基本上只要将刚才所做的再反过来做一遍就好了。
gksudo gedit /etc/fstab
删除刚才添加的最末一行
/mnt/512Mbswap none swap sw 0 0
在现有系统中删除swap并删除创建的swap文件。
sudo swapoff /mnt/512Mbswap && sudo rm /mnt/512Mbswap
无需重启。

根据Redhat公司的建议,Linux系统swap分区最适合的大小是物理内存的1-2倍不过Linux上有些软件对swap分区得需求较大,例如要顺利执行Oracle数据库软件,swap分区至少需要400MB或者物理内存2倍以上的空间当然我们在安装Linux的时候,就能直接讲swap分区设置到足够的大小,但如果已经安装好Linux了,之后又想再安装类似Oracle的软件,却发现swap分区空间不够,该如何处理 针对此种情况,有两种解决方法:一是创建新的swap分区;另一则是创建swap文件 (这里暂时对创建swap文件做说明) 创建swap文件
如果你的硬盘空间已经全部分配给其他分区,也没有多余的预算新添购硬盘,我们可以利用swap文件的方式增加虚拟的swap空间,不过执行性能会较实际的swap分区差 产生swap文件
要创建swap文件,执行dd命令,新增一个256MB的swap文件: # dd if=/dev/zero of=/tmp/myswap bs=32k count=8192
(bs=32k指定每个扇区占用32kb,读入了8192 0个区段,输出了8192 0个区段) 注意:bs参数的目的在于指定每次读取及输入多少个bytes;由于磁盘存取的最小单位为扇区,因此设置bs也等于设置每个扇区的大小;而count的目的则在指定可以使用多少个扇区因此,可以使用的硬盘空间就等于bscount以上范例为例,可以使用的硬盘空间等于328192=262144(KB),亦等于256MB 执行上述命令后,会在/tmp目录中创建一个256MB的myswap文件 格式华及启动swap文件
接下来执行mkswap命令,将myswap文件格式化成s文件系统,系统才能使用,切换到/tmp目录,并执行以下命令: # mkswap myswap (#将文件格式化为swap文件格式)
setting up swapspace version 1 , size = 262144 KB
# swapon /tmp/myswap (#启动swap分区) 要停止使用新创建的swap文件,只要执行 swapoff /tmp/myswap命令即可 开机时自动启动新添加的swap分区
如果每次开机后都要执行swapon命令启动swap分区或者文件,这太麻烦了这时可以利用文字编辑器在/etc/fstab文件加一行,好让开机时自动启动swap分区及文件: /dec/hdb5 swap swap defaults 0 0 (开机时启动此swap分区)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10374126.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-08
下一篇 2023-05-08

发表评论

登录后才能评论

评论列表(0条)

保存