Solaris 11.3용 스왑 파일을 생성할 수 없습니다.

Solaris 11.3용 스왑 파일을 생성할 수 없습니다.

메모리 부족으로 인해 Solaris 11.3에서 컴파일이 실패했습니다. 이 상자는 새로운 운영 체제가 설치된 600GB 드라이브와 8GB RAM을 갖춘 UltraSPARC 워크스테이션입니다. 시스템에 메모리가 부족하여 상자에서 꺼냈는데 정말 혼란스럽습니다.

따라해보려고 해요Solaris 시스템에 스왑 공간 추가공간을 더 추가하세요.

# 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.

두 가지 질문이 있습니다. 첫째, Oracle의 거의 모든 문서가 잘못되었을 정도로 잘못된 점은 무엇입니까?

둘째, 스왑 공간을 어떻게 생성합니까? 어떻게 만드나요?시간ls목록 에 나오나요 ?


이것은 문서의 3단계입니다. 추가되었으니 참고해주세요시간:

다음을 입력하여 파일이 생성되었는지 확인합니다.

ls -l /directory/swap-file-name

새 파일이 디렉터리에 나타납니다. 예를 들어:

ls -l /foo/16mswap    -rw------T   1 root     other    16777216 Dec 12 14:24 /foo/16mswap

답변1

귀하가 찾은 페이지는 Solaris가 여전히 스왑 파일을 사용했던 2011년부터 시작된 Solaris Studio 12.3과 관련이 있습니다. ZFS를 루트 파일 시스템으로 사용하는 Solaris 11.3의 경우 실제 블록 장치가 필요하기 때문에 프로세스가 약간 다릅니다. 다행히 ZFS를 사용하면 ZFS 볼륨을 통해 실제 블록 장치를 매우 쉽게 사용할 수 있습니다.

먼저 기존 볼륨을 확인합니다.

zfs list -t volume

swap@ 라는 볼륨이 표시될 가능성이 높 /rpool/swap으므로 새 장치에 대해 다른 이름(예: )을 사용해야 합니다 swap2.

이것이 내가 보는 것입니다:

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  -

또한 기존 스위칭 장비를 살펴보십시오.

bash-[502]# swap -l
swapfile             dev    swaplo   blocks     free
/dev/zvol/dsk/rpool/swap 275,1         8  4194296  4194296

다음 단계는 새 볼륨을 생성하는 것입니다. 다음 명령에서 -V옵션은 파일 시스템이 있는 장치가 아닌 원시 블록 장치를 생성하고 있음을 나타내며 2G크기는 다음과 같습니다.

bash-[503]# zfs create -V 2G rpool/swap2

이제 볼륨 목록이 변경된 것을 볼 수 있습니다.

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  -

그런 다음 해당 블록 장치를 스왑으로 활성화할 수 있습니다.

bash-[505]# swap -a /dev/zvol/dsk/rpool/swap2

그리고 언제나 그렇듯이 를 사용하여 스왑 장치를 볼 수 있습니다 swap -l.

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

답변2

T속성은 다음을 사용하여 파일에 설정할 수 있습니다.

chmod +t filename

파일이 ZFS 파일 시스템에 있는 경우 스왑 파일 사용은 지원되지 않습니다.

관련 정보