oracle swap可以删吗,关于linux swap-添加/删除/手动清空 | YallonKing

关于linux swap

Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释 放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到 内存中。这样,系统总是在物理内存不够时,才进行Swap交换。

再有,即使你的机器拥有足够多的物理内存,也有一些程序会在它们初始化时残留的极少再用到的内存分页内容转移到 swap 空间,以此让出物理内存空间。

如果在使用过程中想要清空 swap 空间,可以先禁用 swap,然后再次启用。以linux为例:

[oracle@ora10gr2 ~]$ top

top - 23:58:15 up 6 min, 1 user, load average: 0.03, 0.20, 0.11

Tasks: 106 total, 1 running, 105 sleeping, 0 stopped, 0 zombie

Cpu(s): 3.2%us, 3.3%sy, 0.0%ni, 78.4%id, 10.5%wa, 4.1%hi, 0.4%si, 0.0%st

Mem: 2075468k total, 520284k used, 1555184k free, 17080k buffers

Swap: 4128696k total, 0k used, 4128696k free, 401756k cached

[root@ora10gr2 ~]# /sbin/swapoff -a

[oracle@ora10gr2 ~]$ top

top - 00:00:19 up 9 min, 2 users, load average: 0.00, 0.12, 0.09

Tasks: 114 total, 2 running, 112 sleeping, 0 stopped, 0 zombie

Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 93.3%id, 1.3%wa, 4.3%hi, 0.7%si, 0.0%st

Mem: 2075468k total, 536072k used, 1539396k free, 17212k buffers

Swap: 0k total, 0k used, 0k free, 413568k cached

oracle正常

SQL> select * from gv$version;

INST_ID BANNER

---------- ----------------------------------------------------------------

1 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

1 PL/SQL Release 10.2.0.1.0 - Production

1 CORE 10.2.0.1.0 Production

1 TNS for Linux: Version 10.2.0.1.0 - Production

1 NLSRTL Version 10.2.0.1.0 - Production

[root@ora10gr2 ~]# /sbin/swapon -a

[oracle@ora10gr2 ~]$ top

top - 00:01:01 up 9 min, 2 users, load average: 0.00, 0.11, 0.09

Tasks: 114 total, 1 running, 113 sleeping, 0 stopped, 0 zombie

Cpu(s): 2.4%us, 2.4%sy, 0.0%ni, 82.6%id, 8.0%wa, 4.2%hi, 0.4%si, 0.0%st

Mem: 2075468k total, 538544k used, 1536924k free, 17280k buffers

Swap: 4128696k total, 0k used, 4128696k free, 413920k cached

扩容/创建swap空间

[root@ora10gr2 ~]# free -m

total used free shared buffers cached

Mem: 2026 551 1475 0 17 430

-/+ buffers/cache: 103 1922

Swap: 4031 0 4031

[root@ora10gr2 ~]# dd if=/dev/zero of=/mnt/512Mb.swap bs=1M count=512

512+0 records in

512+0 records out

536870912 bytes (537 MB) copied, 28.3604 seconds, 18.9 MB/s

[root@ora10gr2 ~]# mkswap /mnt/512Mb.swap

Setting up swapspace version 1, size = 536866 kB

[root@ora10gr2 ~]# swapon /mnt/512Mb.swap

[root@ora10gr2 ~]# free -m

total used free shared buffers cached

Mem: 2026 1071 955 0 18 942

-/+ buffers/cache: 110 1916

Swap: 4543 0 4543

写入到fstab中

/mnt/512Mb.swap none swap sw 0 0

删除swap分区

[root@ora10gr2 ~]# free -m

total used free shared buffers cached

Mem: 2026 1071 955 0 18 942

-/+ buffers/cache: 110 1916

Swap: 4543 0 4543

[root@ora10gr2 ~]# swapoff /mnt/512Mb.swap

[root@ora10gr2 ~]# rm -rf /mnt/512Mb.swap

[root@ora10gr2 ~]# free -m

total used free shared buffers cached

Mem: 2026 544 1482 0 18 430

-/+ buffers/cache: 95 1931

Swap: 4031 0 4031

清楚fstab中的记录

唯一的swap理论上也是可以在线删的

[root@ora10gr2 ~]# free -m

total used free shared buffers cached

Mem: 2026 1063 962 0 19 942

-/+ buffers/cache: 102 1924

Swap: 4031 0 4031

[root@ora10gr2 ~]# cat /etc/fstab

LABEL=/ / ext3 defaults 1 1

LABEL=/boot /boot ext3 defaults 1 2

tmpfs /dev/shm tmpfs defaults 0 0

devpts /dev/pts devpts gid=5,mode=620 0 0

sysfs /sys sysfs defaults 0 0

proc /proc proc defaults 0 0

LABEL=SWAP-sda3 swap swap defaults 0 0

[root@ora10gr2 ~]# swapoff LABEL=SWAP-sda3

[root@ora10gr2 ~]# free -m

total used free shared buffers cached

Mem: 2026 543 1483 0 19 430

-/+ buffers/cache: 93 1933

Swap: 0 0 0

[root@ora10gr2 ~]# swapon LABEL=SWAP-sda3

[root@ora10gr2 ~]# free -m

total used free shared buffers cached

Mem: 2026 569 1457 0 19 455

-/+ buffers/cache: 94 1932

Swap: 4031 0 4031

最好是创建一个新的替换之,也就是手动清空swap空间(始终保证系统存在一个可用的swap)

[root@ora10gr2 ~]# free -m

total used free shared buffers cached

Mem: 2026 569 1457 0 19 455

-/+ buffers/cache: 94 1932

Swap: 4031 0 4031

[root@ora10gr2 ~]# dd if=/dev/zero of=/mnt/512Mb.swap bs=1M count=512

512+0 records in

512+0 records out

536870912 bytes (537 MB) copied, 7.62524 seconds, 70.4 MB/s

[root@ora10gr2 ~]# mkswap /mnt/512Mb.swap

Setting up swapspace version 1, size = 536866 kB

[root@ora10gr2 ~]# swapon /mnt/512Mb.swap

[root@ora10gr2 ~]# free -m

total used free shared buffers cached

Mem: 2026 1090 936 0 20 967

-/+ buffers/cache: 102 1924

Swap: 4543 0 4543

[root@ora10gr2 ~]# cat /etc/fstab

LABEL=/ / ext3 defaults 1 1

LABEL=/boot /boot ext3 defaults 1 2

tmpfs /dev/shm tmpfs defaults 0 0

devpts /dev/pts devpts gid=5,mode=620 0 0

sysfs /sys sysfs defaults 0 0

proc /proc proc defaults 0 0

LABEL=SWAP-sda3 swap swap defaults 0 0

[root@ora10gr2 ~]# swapoff LABEL=SWAP-sda3

[root@ora10gr2 ~]# free -m

total used free shared buffers cached

Mem: 2026 1088 938 0 20 967

-/+ buffers/cache: 100 1926

Swap: 511 0 511

[root@ora10gr2 ~]# swapon LABEL=SWAP-sda3

[root@ora10gr2 ~]# swapoff /mnt/512Mb.swap

[root@ora10gr2 ~]# rm -rf /mnt/512Mb.swap

[root@ora10gr2 ~]# free -m

total used free shared buffers cached

Mem: 2026 571 1455 0 20 455

-/+ buffers/cache: 95 1931

Swap: 4031 0 4031

查看哪个进程在使用swap

top下,按f,按p标记swap出现在top输出中,按P按cpu排序,按M按内存排序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值