我已经在计算机上安装了 ubuntu,后来,我将一个分区格式化为 linux swap,并想用挂载点 / 下的现有 tmp 目录替换它。我按照此链接中给出的步骤进行操作:http://ubuntuforums.org/showthread.php?t=1670222。问题是交换仍然没有启用。以下是一些命令输出。
shijiex@shijie-ThinkPad-T410:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 28703740 5324096 21914916 20% /
tmpfs 1180916 924 1179992 1% /run
.........
/dev/sda7 28706812 17150036 10091896 63% /home
shijiex@shijie-ThinkPad-T410:~$ sudo blkid -c /dev/null -o list
device fs_type label mount point UUID
-----------------------------------------------------------------------
/dev/sda1 ext4 / 47d9205b-00a8-40e5-88d6-e8b9571799a7
...
/dev/sda7 ext4 /home e2ae897d-62b1-45d3-a17a-49e7a1b8fbe7
/dev/sda9 swap <swap> 81ce2033-4ff2-4e05-9500-aacfd1019855
shijiex@shijie-ThinkPad-T410:~$ sudo mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
......
/dev/sda8 on /opt type ext4 (rw)
/dev/sda5 on /backup type ext4 (rw)
/dev/sda6 on /other type ext4 (rw)
/dev/sda7 on /home type ext4 (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/shijiex/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=shijiex)
/etc/fstab 的末尾是:
# swap was on /dev/sda9 during installation
UUID=81ce2033-4ff2-4e05-9500-aacfd1019855 none swap sw 0 0
shijiex@shijie-ThinkPad-T410:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 28703740 5324100 21914912 20% /
udev 2942940 4 2942936 1% /dev
tmpfs 1180916 924 1179992 1% /run
none 5120 0 5120 0% /run/lock
none 2952280 156 2952124 1% /run/shm
/dev/sda8 14286320 11978284 1575672 89% /opt /dev/sda5 38317716 36097448 267144 100% /备份 /dev/sda6 85532500 35151740 46029084 44% /其他 /dev/sda7 28706812 17150392 10091540 63% /主页
交换分区是 sda9。我不确定交换是否已启用,因为:
/dev/sda9 不在 df 结果列表中。而以前它总是应该像这样:
/dev/sda9 28706812 17150392 10091540 63% /tmp
Gpart 显示 /dev/sda9 作为 linux-swap,大小为 14.85G,
used unused -- --
我无法访问交换区。以前,交换区始终挂载为 /tmp,我可以访问此目录。现在 /tmp 只是 / 下的一个目录。
- 操作系统是 ubuntu 12.04 lts。
[更新]:
交换应该已经启用,cat /proc/swaps
:
/dev/sda9 partition 15575036 0 -1
尽管使用的大小为 0。
现在的情况是:
我已在 下有 tmp 目录/
,如何挂载交换此分区,因为挂载点是 /tmp。我将 fstab 的最后一行修改为:
UUID=81ce2033-4ff2-4e05-9500-aacfd1019855 /tmp swap sw 0 0
然后 mount -a 并重启,没有报告任何错误。但是虽然我将许多文件内容转储到 /tmp,但 swap 中的使用量为 0。
那么我怎样才能充分利用交换区呢?它几乎有 15G 了。如果总是没有使用,那就太浪费磁盘了。
或者我怎样才能更改/tmp
为交换分区?
我想要这个,因为这个目录在我的程序中被广泛使用,它也是我的 Ubuntu 和托管的 WindowXP 之间的交换区域。两者都需要很大的磁盘空间。
答案1
这些命令都不会显示交换是否已激活。要知道交换何时激活,只需运行swapon -s
:
swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 1052220 0 -1
/dev/sdb3 partition 1047548 0 -2
/dev/sdb6 partition 498684 0 -3
另一种方法是使用free
:
free
total used free shared buffers cached
Mem: 1552616 1394436 158180 0 116080 676940
-/+ buffers/cache: 601416 951200
Swap: 2598452 0 2598452
几乎任何进程/系统观察器都有交换值,htop
在此示例中:
只有在物理内存不足时才会使用交换区。有些人从来没有机会使用交换区,而其他人则因为有大量 RAM 内存而不创建交换区。我不知道你为什么要创建交换区,/tmp
但你这样做没有正当理由。
答案2
要检查 swqp 分区的状态,你应该阅读此链接
确认交换分区存在。
cat /proc/swaps
https://help.ubuntu.com/community/SwapFaq#How_do_I_add_more_swap.3F