服务器 swap分区使用率高的原因分析及增加swap空间

摘要:
如上所述,在正常情况下,交换分区利用率非常低或几乎为零。添加交换空间:1。添加交换分区。使用dd命令创建分区文件,例如/home/swap。Ddif=/dev/zerof=/var/swapfilebs=1024Count=2048000//添加交换文件并将其大小设置为2G2。执行后,格式化交换文件并将其转换为交换分区:mkswap/var/swapfile3。装载并激活分区:swap on/var/swapfile4 grant permissions chmod-R0600/var/swapfile现在使用free m命令检查内存和交换分区大小,您会发现已添加了2G的空间。请注意,当计算机重新启动时,发现交换仍然与原始交换一样大。新交换不会自动启动,需要手动启动。

前述:正常情况下swap分区使用率都很低或者几乎为0。如果出现占用率很高的情况,最快捷的解决办法就是查找到相关的进程id并重启相关进程。

#查看占用swap分区进程id

for i in $( cd /proc;ls |grep "^[0-9]"|awk ' $0 >100') ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps 2>/dev/null ; done | sort -k2nr | head -10

[root@localhost ~]# for i in $( cd /proc;ls |grep "^[0-9]"|awk ' $0 >100') ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps 2>/dev/null ; done | sort -k2nr | head -10
5879 4685.23M
2143 10.4062M
5531 8.57031M
2349 3.82031M
2392 3.74609M
4580 3.63281M
2504 3.15625M
2491 2.76562M
4324 2.67969M
2565 2.61719M

可发现PID为5879的进程占用了4个多G,通过top命令发现此PID对应的是oracle下nmccollector。

[root@localhost ~]# top
top - 09:25:12 up 15 days, 16:01, 1 user, load average: 0.08, 0.07, 0.08
Tasks: 224 total, 1 running, 223 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.7%us, 0.4%sy, 0.0%ni, 98.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 7967824k total, 7810600k used, 157224k free, 416484k buffers
Swap: 12287992k total, 5077816k used, 7210176k free, 809840k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5879 ORACLE 20 0 11.5g 5.8g 15m S 1.3 76.4 81:53.50 nmccollector

经查询资料发现nmccollector是OEM控制监测方面的,在EM下重启此服务即可回收swap空间。打开EM,在首页下方点击“在内存中访问模式下监视”,然后禁用内存访问模式,这样你的nmccollector.exe进程应该就会没有,你再回到EM,开启SQL访问模式!

服务器 swap分区使用率高的原因分析及增加swap空间第1张

服务器 swap分区使用率高的原因分析及增加swap空间第2张

增加swap空間:

1.添加swap分区

使用dd命令创建/home/swap这么一个分区文件。文件的大小是2048000 个block,一般情况下1个block为1K,所以这里空间是2G。

dd if=/dev/zero of=/var/swapfile bs=1024 count=2048000 //添加交换文件并设置其大小为2G


2.执行完毕,对交换文件格式化并转换为swap分区:

mkswap /var/swapfile


3.挂载并激活分区:

swapon /var/swapfile


4 赋权限

chmod -R 0600 /var/swapfile

现在再用free -m命令查看一下内存和swap分区大小,就发现增加了2G的空间了。

注意当计算机重启了以后,发现swap还是原来那么大,新的swap没有自动启动,还要手动启动。那我们需要修改/etc/fstab文件

5.设置开机自动挂载该分区:
vi /etc/fstab
在fstab文件末尾追加如下内容后:wq!保存即可:

/var/swapfile swap swap defaults 0 0

免责声明:文章转载自《服务器 swap分区使用率高的原因分析及增加swap空间》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇sqlite3 on python for newbies如何删除eclipse的subclipse插件记住的SVN用户名和密码下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

SQL SERVER 查看数据库执行过哪些语句(SQL历史语句记录)

SQLSERVER查看数据库已执行的语句(SQL历史语句记录)1.查看SQL执行效率和语句SelectTOP1000ST。textAS“SQL语句已执行”,QS。execution_CountAS'执行次数',QS。total_ elapsed_timeAS“耗时”,QS。total_logical_ReadsAS“逻辑读取次数”,QS。total_logi...

HTML5表单之input 类型- Date Pickers(日期选择器)

HTML5有几种新的输入类型用于选择日期和时间:日期:选择日期、月份、年份月份:选择月份、年份星期:选择星期和年份时间:选择时间datetime local:选择时间、日期、月份和年份datetime:选择时间、,年示例1:日期示例2:月示例3:周示例4:时间˂inputtype=“time”name=“tart_time”value=“”//示例5:dat...

vue+jspdf+html2canvas导出PDF文件

没有废话。首先,查看最终打印结果。我说最后打印的pdf文件看起来像这样。pdf文件的分页是通过设置jspdf实现的,但我暂时无法对文件内容进行分页。因为我们首先将需要打印的元素转换为画布,然后将画布转换为图像,然后将图像转换为pdf文件。...

H3C 12508 收集诊断信息

案例:H3C12508单板卡出现remove状态,需要配合研发收集诊断信息。)总体:12500交换机返回三种文件----故障时诊断信息,主备单板的日志文件,主备单板的诊断日志操作步骤:一、故障时诊断信息:disdiagnostic-informationdiag收集必须在问题出现的时候,单板重起之前执行。在save时请选择Y保存到CF卡方式。一般情况下,此命...

5G中的频点计算及实例分析

相关图表:关于∏SSB的频域位置SSREF和GSCN之间的关系,请参见下表:注:SCSspacedchannelrasterisM=3的工作频带的默认值。同步网格是5G的第一个概念,旨在加快终端扫描SSB的频率位置。GSCN通常用于在SA联网模式下加速时频同步,以继续解释MIB和SIB1消息;对于NSA来说,这是不必要的。RRC重配置消息已经携带了NR的SS...

AVUE 下拉 select 获取选中项的文本

底层应该不支持,其它方式应该可以,到时候看看黎大神给的方案。...