お知らせ:


 ◇ YouTube Apple Japan チャンネル で有用なヒントや使い方を配信中です。
 ◇ iOS 向け Apple サポート App のバージョン 2.4.1 が公開されました。

お知らせ: macOS Mojave にアップグレードする


macOS Mojave には、ダークモードやスタックなどの新機能や、3 つの新しい内蔵 App が新たに加わり、クリックするたびにさらに多くのことができるようになります。 macOS Mojave へのアップグレード方法はこちら >

しばらく返答が寄せられていないようです。 再度ディスカッションを開始するには、新たに質問してください。

質問:

質問: スワップ領域が確保されない

Mac mini (Late 2014、Intel Core i5, 1.4GHz, メモリ4GB)において、外部ディスクにTranscend JetDrive 825(SSD)を接続しています。

外部ディスクにMac OS High Sierraをクリーンインストールして使用していますが、度々ハングアップします。

アクティビティモニタでメモリー使用量を見ると、4GBの物理メモリのうち使用済みメモリが3.5GBを越えると動作が鈍くなり、さらにメモリーが圧迫されるとハングアップする様に見えます。この時、使用済みメモリが増えてもスワップ使用領域が0バイトのままです。おそらく、スワップしないためにメモリーを使いきりハングアップしてしまうのではないかと思いますが、スワップ使用領域の確保の方法など分かりましたら、ご教示いただけないでしょうか。

内蔵のHDDから起動した場合はスワップが使われ、特にハングアップする事象は発生しません。

なお、SSDはAPFSフォーマットでマウントポイントは/、接続方法はThunderboltバスです。

Mac mini, macOS High Sierra (10.13.3)

投稿日

返信
スレッドに付いたマーク 参考になった

2018/03/22 00:20 Redlions への返信 Redlions への返信

apfsだとswap領域はcontainerの中に含まれます。

ターミナルで

$ diskutil list

/dev/disk0 (internal, physical):

#: TYPE NAME SIZE IDENTIFIER

0: GUID_partition_scheme *1.0 TB disk0

1: EFI EFI .... disk0s1

2: ....... ......... disk0s2

3: ...... ......... disk0s3

4: Apple_APFS Container disk1 314.4 GB disk0s4


/dev/disk1 (synthesized):

#: TYPE NAME SIZE IDENTIFIER

0: APFS Container Scheme - +314.4 GB disk1

Physical Store disk0s4

1: APFS Volume Macintosh HD 194.9 GB disk1s1

2: APFS Volume Preboot 18.4 MB disk1s2

3: APFS Volume Recovery 509.8 MB disk1s3

4: APFS Volume VM 2.1 GB disk1s4 <= swap領域


のようにになり、disk1s4がswapになります。

disk1s4がswapであることは、

$ diskutil info -all

とすると、問題のパーティションは、

Device Identifier: disk1s4
Device Node: /dev/disk1s4
Whole: No
Part of Whole: disk1


Volume Name: VM
Mounted: Yes
Mount Point: /private/var/vm


と表示されることから明らかです。


外付けだと、apfsにフィーマットしてやらないとapfsにはならないと思います。

まだ、apfsにはバグがあるのかも。外付けなら、hfs+にフォーマットしてhigh sierraをインストールすればhfs+のままになります。hfs+にされてみてはどうでしょうか。hfs+の場合には、swapは専用のファイルが作られます。

スレッドに付いたマーク 参考になった

2018/03/22 23:25 Redlions への返信 Redlions への返信

うちのmacbook airに外付けssdを繋ぎ、high sierra 10.13.3 をインストールして試してみました。

どうも外付けのシステムでapfsにすると、swapがマウントされないようです。なので、これはapfs上のhigh sierraのバグです。

なお、ググってみると、この症状はいろいろなところに報告されてます。米国のdiscussion boardにもあります。

High Sierra Freezing - RAM Swap not working |Official Apple Support Communities

この書き込みの中では、

sudo diskutil mount -mountPoint /private/var/vm disk2s4

でマウントされるとしてます。

SIPを外してやってみると確かにこれでマウントされます。


再起動すると、アンマウントの状態に戻ってしまうので、起動時毎回このコマンドを実行する必要があります。なお、SIPが有効の状態でもこのコマンドは実行できました。

ディスカッションを部分的に表示しています

返信をすべて表示

ページコンテンツが読み込まれました

スレッドに付いたマーク 参考になった

2018/03/22 00:20 Redlions への返信 Redlions への返信

apfsだとswap領域はcontainerの中に含まれます。

ターミナルで

$ diskutil list

/dev/disk0 (internal, physical):

#: TYPE NAME SIZE IDENTIFIER

0: GUID_partition_scheme *1.0 TB disk0

1: EFI EFI .... disk0s1

2: ....... ......... disk0s2

3: ...... ......... disk0s3

4: Apple_APFS Container disk1 314.4 GB disk0s4


/dev/disk1 (synthesized):

#: TYPE NAME SIZE IDENTIFIER

0: APFS Container Scheme - +314.4 GB disk1

Physical Store disk0s4

1: APFS Volume Macintosh HD 194.9 GB disk1s1

2: APFS Volume Preboot 18.4 MB disk1s2

3: APFS Volume Recovery 509.8 MB disk1s3

4: APFS Volume VM 2.1 GB disk1s4 <= swap領域


のようにになり、disk1s4がswapになります。

disk1s4がswapであることは、

$ diskutil info -all

とすると、問題のパーティションは、

Device Identifier: disk1s4
Device Node: /dev/disk1s4
Whole: No
Part of Whole: disk1


Volume Name: VM
Mounted: Yes
Mount Point: /private/var/vm


と表示されることから明らかです。


外付けだと、apfsにフィーマットしてやらないとapfsにはならないと思います。

まだ、apfsにはバグがあるのかも。外付けなら、hfs+にフォーマットしてhigh sierraをインストールすればhfs+のままになります。hfs+にされてみてはどうでしょうか。hfs+の場合には、swapは専用のファイルが作られます。

2018/03/22 00:20

返信 参考になった (1)

2018/03/22 00:19 はに への返信 はに への返信

はに様


情報ありがとうございます。

こちらで

diskutil info -allを実行しますと、外付けSDDの当該ボリュームは以下のようになりました。

VMはマウントされていないこと、ボリュームサイズが0でした。VMをマウントすれば良さそうですが、ディスクユーティリティーからはいじれそうはありませんでした。コマンドからは何かいけるのでしょうかね。


Device Identifier: disk2s4

Device Node: /dev/disk2s4

Whole: No

Part of Whole: disk2

Volume Name: VM

Mounted: No

Partition Type: 41504653-0000-11AA-AA11-00306543ECAC

File System Personality: APFS

Type (Bundle): apfs

Name (User Visible): APFS

Owners: Disabled

OS Can Be Installed: No

Booter Disk: disk2s2

Recovery Disk: disk2s3

Media Type: Generic

Protocol: SATA

SMART Status: Not Supported

Volume UUID: EED78940-78E8-41B6-909C-580C60120F68

Disk / Partition UUID: EED78940-78E8-41B6-909C-580C60120F68

Disk Size: 239.8 GB (239847653376 Bytes) (exactly 468452448 512-Byte-Units)

Device Block Size: 4096 Bytes

Volume Total Space: 0 B (0 Bytes) (exactly 0 512-Byte-Units)

Volume Available Space: 0 B (0 Bytes) (exactly 0 512-Byte-Units)

Read-Only Media: No

Read-Only Volume: Not applicable (not mounted)

Device Location: External

Removable Media: Fixed

Solid State: Yes

2018/03/22 00:19

返信 参考になった

2018/03/22 00:44 Redlions への返信 Redlions への返信

diskutil mount -mountpoint /private/var/vm disk2s4

でマウントはいけると思います。 これでうまくマウントできるとしても、起動時毎回行う必要があると思います。

でも、マウントができないっておかしいですね。

マウントできなくても、/private/var/vmはあるはずで、そこにswapファイルができると思うのですが。ターミナルで、

ls -l /private/var/

とするとvmはありますか?

そもそもvmがないためにswapができないとか。

2018/03/22 00:44

返信 参考になった

2018/03/22 01:20 はに への返信 はに への返信

もう修正できないので、新しくします。

マウントさせるターミナルのコマンドは、SIPが有効だとうまくできないかもしれませんので、SIPを無効にして行う必要があるかもしれません。また、diskutil としてますが、sudoをつけてやらないとできないかもしれません。

こんなのを毎回やるとなると大変です。特にSIPの解除が大変です。一旦解除したら、有効にできませんので(有効にすると、マウントコマンドが使えなくなる)、危険でもあります。VMがマウントされない理由をきちんと探るか、大人しくhfs+にしておく方が良いと思います。

2018/03/22 01:20

返信 参考になった

2018/03/22 07:23 はに への返信 はに への返信

はに様


/private/var/vm

ディレクトリはありますが、中にはスワップファイルはありませんでしたが、

/vmというディレクトリがあり、その中にswapfile0という1GB程度の大きさのファイルがありました。

起動時に作成されるようで、その後アプリケーションを複数立ち上げて負荷をかけてもサイズは変わらないですね。

ファイルシステムを変更してインストールし直してみて、状況をご報告します。

2018/03/22 07:23

返信 参考になった
スレッドに付いたマーク 参考になった

2018/03/22 23:25 Redlions への返信 Redlions への返信

うちのmacbook airに外付けssdを繋ぎ、high sierra 10.13.3 をインストールして試してみました。

どうも外付けのシステムでapfsにすると、swapがマウントされないようです。なので、これはapfs上のhigh sierraのバグです。

なお、ググってみると、この症状はいろいろなところに報告されてます。米国のdiscussion boardにもあります。

High Sierra Freezing - RAM Swap not working |Official Apple Support Communities

この書き込みの中では、

sudo diskutil mount -mountPoint /private/var/vm disk2s4

でマウントされるとしてます。

SIPを外してやってみると確かにこれでマウントされます。


再起動すると、アンマウントの状態に戻ってしまうので、起動時毎回このコマンドを実行する必要があります。なお、SIPが有効の状態でもこのコマンドは実行できました。

2018/03/22 23:25

返信 参考になった (1)

2018/03/22 23:33 はに への返信 はに への返信

はに様


わざわざ状況を再現していただき大変ありがとうございました。

ご紹介いただいた方法でマウントするとスワップ領域が確保されました。

これは明らかなバグですね。Appleに報告を上げた方が良いのでしょうかね。


根本的な解決としてはhfs+でフォーマットして再インストールすることを推奨されております。

こちらでhfs+でSSDをフォーマットして再インストールしたのですが、インストールされたドライブフォーマットはAPFSになってしまいます。2回ほどトライしたのですが、同様でした。

SSDは自動的にAPFSになるようになっているのでしょうかね。こちらの操作ミスかもしれませんが。

2018/03/22 23:33

返信 参考になった

2018/03/23 00:36 Redlions への返信 Redlions への返信

> こちらでhfs+でSSDをフォーマットして再インストールしたのですが、インストールされたドライブフォーマットはAPFS


おかしいですね。外付けにインストールするならhfs+のままになると思いますが。

ただ、high sierraインストーラーでapfsへの変換をしないようにしてインストールする方法が用意されてます。

Re: HighSierraをHFSにフォーマットしたい

のおしまいの方の私の書き込みを参照してください。インストーラをターミナルで実行し、その時にapfsへの変換をしないように指定します。

2018/03/23 00:36

返信 参考になった

2018/03/31 10:15 はに への返信 はに への返信

High Sierra 10.13.4でフィックスされるかと思いましたが、残念ながら未対応でした。

とりあえずご報告まで。

2018/03/31 10:15

返信 参考になった

2018/03/31 12:06 Redlions への返信 Redlions への返信

Thunderbolt 接続だとSSD は自動的にAPFS に変換されます。2度試しましたが2回とも変換されました。

それにしてもOS can be installed: no

が気になりますね。ちなみに我が家ではThunderbolt 接続のSSD で正常に動き続けています。スリープは不安定になるにでしませんが。

2018/03/31 12:06

返信 参考になった

2018/03/31 16:06 ni_ki への返信 ni_ki への返信

ni_ki による書き込み:


それにしてもOS can be installed: no

これは正常な表示でしたね。

また、

ちなみに我が家ではThunderbolt 接続のSSD で正常に動き続けています。

負荷をかけて見たらハングして強制再起動しました。swap しないのが原因かは正確には不明ですが、クラッシュレポートにVM_pageout なんちゃらの文字がありますので原因ぽいですね。なお外付けSSD で起動しているMac 二台ともvm パーティションはマウントしていませんでした。スワップも0 のままです。

2018/03/31 16:06

返信 参考になった

2018/03/31 17:09 はに への返信 はに への返信

sudo 付きで無事、swapfile が作成されました。ただしスワップすると時々、数十秒フリーズするようです。特に大量に確保したり切り離し時に起きる気配です。

なおマウントポイントはVM と大文字の方が良いかもしれません。内蔵APFS から起動するとVM でマウントしているので。

とりあえずスクリプトでログイン時にマウントさせるしかなさそうですね。


追記

SIP は外さずに試しました。


macOS High Sierra 10.13.3

2018/03/31 17:09

返信 参考になった

2018/03/31 19:45 ni_ki への返信 ni_ki への返信

スリープ状態から復帰するといつの間にか再起動していて、エラーログを表示していることが何回かありました。

他の方でもなっているのですね。10.13.4で改善しているかどうかしばらく運用してみます。

2018/03/31 19:45

返信 参考になった

2018/03/31 21:22 ni_ki への返信 ni_ki への返信

thunderbolt接続だと内蔵扱いになるのですね。


> なおマウントポイントはVM と大文字の方が良いかもしれません


それは違うと思います。マウントポイントは/private/var/vm で小文字です。high sierraで設定される内蔵システムのものも全部こうなってます。ボリューム名はVMで大文字ですけど。

スクリプトでログイン時にマウントさせるには、ちょっと考えないといけないことがあります。disk2s4とかは外付けに何かつないでるとdisk番号が変わってしまう可能性があります。なので、スクリプトにするならUUIDで指定する方が良いと思います。また、本当は、誰がログインしようとswap がマウントされるようにしておくべきで、そのためには、起動時自動的に実行されるようにlaunchctlでマウントさせる方が良いと思います。ただ、これは、com.apple.dynamic_pager.plistの中身を書き換えるなどの記事がありますが、どうもうまくいってない感じです。

high sierra - Mac OS X is not creating a swap file - Ask Different


ま、もともと用意されてるスクリプトがうまく動作しなくて、少し書き換えてもうまくいかないとなると結構根が深い問題なのかもしれません。

2018/03/31 21:22

返信 参考になった
ユーザのユーザプロフィール: Redlions

質問: スワップ領域が確保されない