首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法为Solaris 11.3创建swapfile

无法为Solaris 11.3创建swapfile
EN

Unix & Linux用户
提问于 2018-07-16 12:03:35
回答 2查看 1.7K关注 0票数 1

由于内存不足,我的编译在Solaris 11.3上失败了。这个盒子是一个UltraSPARC工作站,有600 GB的驱动器,8GB的内存和一个新的操作系统安装。这是绝对令人困惑的,没有足够的内存系统,我正在痛苦的工作。

我试图跟随在Solaris系统上添加交换空间来增加更多的空间。

代码语言:javascript
复制
# Step 1
$ sudo su -
...

# Step 2
# mkdir /var
mkdir: Failed to make directory "/var"; File exists
# mkfile 2048m /var/swap

# Step 3
# ls -l /var/swap
-rw-------   1 root     root     2147483648 Jul 16 11:42 /var/swap

# Step 4
# swap -a /var/swap
"/var/swap" is not valid for swapping.
It must be a block device or a regular file with the
"save user text on execution" bit set.

我有两个问题。首先,甲骨文有什么问题,几乎每个文档都是错误的?

第二,如何创建该死的交换空间?如何使T出现在ls列表中?

下面是文档的步骤3。注意添加的T:

通过键入: ls -l /-l/swap file -name来验证是否创建了该文件,新文件出现在目录中。例如: ls -l /foo/16 16mswap rw

EN

回答 2

Unix & Linux用户

发布于 2018-07-16 13:12:34

您找到的页面与Solaris Studio 12.3有关,它可以追溯到2011年,以及Solaris仍然使用交换文件的时候。对于使用ZFS作为根文件系统的Solaris 11.3,进程略有不同,因为需要真正的块设备。幸运的是,ZFS通过ZFS卷使使用真正的块设备非常容易。

首先,检查现有卷:

代码语言:javascript
复制
zfs list -t volume

您很可能会看到一个名为swap @ /rpool/swap的卷,因此您需要一个新设备的不同名称,比如swap2

我看到的是:

代码语言:javascript
复制
bash-[501]# zfs list -t volume
NAME         USED  AVAIL  REFER  MOUNTPOINT
rpool/dump  3.08G   139G  2.99G  -
rpool/swap  2.06G   139G  2.00G  -

另外,看看您现有的交换设备:

代码语言:javascript
复制
bash-[502]# swap -l
swapfile             dev    swaplo   blocks     free
/dev/zvol/dsk/rpool/swap 275,1         8  4194296  4194296

下一步是创建新卷。在下一个命令中,-V选项指示我们正在创建一个原始块设备,而不是一个具有文件系统的设备,而2G的大小是:

代码语言:javascript
复制
bash-[503]# zfs create -V 2G rpool/swap2

现在,您将看到您的卷列表已经更改:

代码语言:javascript
复制
bash-[504]# zfs list -t volume
NAME          USED  AVAIL  REFER  MOUNTPOINT
rpool/dump   3.08G   137G  2.99G  -
rpool/swap   2.06G   137G  2.00G  -
rpool/swap2  2.06G   137G  2.00G  -

然后,您可以以交换方式激活该块设备:

代码语言:javascript
复制
bash-[505]# swap -a /dev/zvol/dsk/rpool/swap2

而且,和往常一样,您可以看到使用swap -l的交换设备。

代码语言:javascript
复制
bash-[506]# swap -l
swapfile             dev    swaplo   blocks     free
/dev/zvol/dsk/rpool/swap 275,1         8  4194296  4194296
/dev/zvol/dsk/rpool/swap2 275,3         8  4194296  4194296
票数 4
EN

Unix & Linux用户

发布于 2018-07-16 12:24:32

可以在文件上设置T属性

代码语言:javascript
复制
chmod +t filename

注意,如果文件驻留在ZFS文件系统上,则不支持使用交换文件。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/456535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档