16GBのメモリでパソコン作業はどう変わるか?
ゲームはあまりしないかつ、簡単な動画編集や画像編集をたまに行い、普段はWebページやYoutubeの閲覧やExcel表をいじる程度の人がメモリを8GBから16GBに増設してみる。
結果として高速化や安定化のメリットが論理的、体感的に得られるのかということを実証実験してみる。果たして効果はあるのだろうか?
- 8GBだと物理メモリ量を上回る仮想メモリを使用
- メモリの現状から分かること
- 記憶装置種類別の転送速度
- ベンチマークも確認
- 16GBへメモリを拡張後、論理的/体感的な変化はどうか?
- 16GBでのベンチマークを確認
- メモリが十分な場合8GBから16GBへ増設しても効果は薄い
8GBだと物理メモリ量を上回る仮想メモリを使用
まずは現状のメモリ使用状況を把握する。現在PowerPoint、PhotoShop、ブラウザ(Google Chrome)タブ10個、プログラミング用のテキストエディタ(VsCode)を開いているが、この状態でタスクマネージャーを開いたところ、次のような状態であった。
赤枠で囲んだ部分がポイントだが、用語の解説は後回しにして、メモリ使用の観点からそれぞれ説明すると下記のようになる。
メモリ項目 | 説明 |
---|---|
使用中(圧縮) | 現在使用している物理メモリの量。圧縮はメモリの効率利用の仕組みだが、特に気にしなくても良い。 |
利用可能 | 利用可能な状態の物理メモリの量 |
コミット済み | 使用中の仮想メモリ/確保済みの仮想メモリ |
キャッシュ済み | ファイルを物理メモリにキャッシュしている量 |
ページプール | OSのカーネルが確保しているメモリのうち、ページアウトが可能なもの |
非ページブール | OSのカーネルが確保しているメモリのうち、ページアウトが不可能なもの |
上記の表で分からないことが多いと思うので解説していく。
まず前提として、物理メモリ(実際のメモリモジュール)の容量が足りない場合には補助記憶装置であるストレージ、すなわちHDDやSSDをメモリの代わりとして使用する。
使われ方としては、物理メモリ内にロードされているデータのうち、使用頻度が相対的に低いデータがストレージに行き、頻繁にアクセスされるデータは物理メモリ上にとどまる。
そして、ストレージ内のデータにアクセスされた場合には、一旦ストレージの内容を物理メモリにロードしなおしてからデータにアクセスがなされる。
このように実際には裏でストレージを効率的に利用して、見せかけの容量を増やしたメモリを仮想メモリと呼ぶ。
また物理メモリから補助記憶装置(=ストレージ)へデータを退避させることをページアウト、逆に補助記憶装置から物理メモリへデータを移動させることをページインと呼ぶ。
ページとは一定の大きさを持ったデータの塊のことであり、ページ単位でやりとりをすることで、物理メモリと補助記憶装置とのやりとりを円滑に行うことができる。
これでメモリ項目の説明のうち物理メモリ、仮想メモリ、ページアウトについては理解できたと思う。
次に、メモリで確保するものはプログラミングを動作させるために確保されるデータ領域の他にファイルがある。ストレージにあるファイルをロードしておき、次にアクセスがあった時に素早く取り出せるように準備しているのである。
キャッシュ済みとは、このメモリ上にロードされたファイルの総量である。1.9GBのファイルがメモリ上にロードされていることが分かる。
メモリが必要となった時は即座にこのキャッシュ部分は開放されるため、表示上は空きに含まれる。今回の場合、空き領域も1.9GBのため、空き領域のほぼ全てがファイルキャッシュとして使われている事が分かる。
ページプールと非ページプールはWindowsを動かすためのコア部分(OSのカーネル)で使用されているメモリである。常に高速なアクセスが求められるためにストレージへのページアウトが不可能なものと、可能なものの2つに分類されている。
ページプールと非ページプールは既に使用中の物理メモリの中に含まれているため、あまり意識しなくても良いだろう。
メモリの現状から分かること
一通り説明したところで現在の状態をまとめると図のようになる。
ここから分かることは、低速なストレージを5.4GBも仮想メモリで使用しているということである。
使用中の5.4GBは、アルゴリズムによると使用頻度が低いものが格納されており、それほどアクセスされることは無いと思われる。
しかしページイン・ページアウトが頻繁に発生する現象はスラッシングと呼ばれており低速の原因となる。この現象が全く発生していない事は証明できない。
仮にこのスラッシングがそれなりに発生しているようならば、メモリを増設することによって体感的に差があるレベルで速くなるのではないかと想像できる。
記憶装置種類別の転送速度
また、メモリと比べストレージは転送速度が遅いと言われているが、どれぐらいの差があるかはハッキリさせておきたい。
記憶装置名 | 転送速度 |
---|---|
メモリ(DRAM) | 21.3GB/s(DDR4-2666の場合。1秒間に25.6ギガバイトのデータを転送可能) |
NVMe SSD | 3.5GB/s程度(現行最速のものもシーケンシャルな読み込み速度) |
Sata SSD | 500MB/s程度 |
HDD | 200MB/s程度 |
管理人の現在のパソコンはDDR4-2666のメモリとSata SSDであるため転送速度に40倍程度の開きがあることが分かった。最速のNVMeを積んでいるとしてもその差は大きい。
メモリの増設によりストレージへのアクセスを減らすことで、その時間は大きく短縮できそうである。
ベンチマークも確認
メモリの使用量がそこそこあるものとしてはゲームがある。FF15のベンチマークを起動してみたところ次のようになった。
ここから分かることは、メモリの使用率が7.4GBと94%の使用まで上がっていることである。また、仮想メモリが21.4GBから23.4GBまで増加している。
現状のメモリではそろそろ不足しそうな感じがあり、感覚的にはわずかだが重くなったと意識すれば感じられるレベルである。
ちなみにベンチマークの結果は次のようであった。
タスクマネージャーを見てもGPUは100%を使い切っているものの、CPUとメモリはまだ数%であるが余力を残した状態である。この場合のボトルネックとして大きい部分はGPUにありそうである。
ともあれメモリも逼迫してきており、仮想メモリの容量を引き上げるようOSが判断している事になるので、メモリを増やすことによって改善が図れそうな感じはする。
ここまでの考察と16GBへした時の期待をまとめると次のようになる。
- メモリを8GB増やすことで使用されるストレージへのアクセスが減り高速化される
- ゲーム起動中はメモリがやや逼迫している状態なので体感的な向上が得られる
さて実際どうなったのか?
16GBへメモリを拡張後、論理的/体感的な変化はどうか?
8GBのメモリをAmazonで購入して挿して見て、ブラウザでタブ15個程度、PhotoShop、プログラミング用のエディタを立ち上げてメモリの使用状況を確認したところ次のようになった。
仮想メモリに占める物理メモリの量が増えることを予想していたが、実際には使用中が6.1GBでコミット済が9.7GBであり、仮想メモリのうちの3.6GBと多くがストレージで使われていた。利用可能が9.8GBあるのにも関わらずである。
おそらくメモリの管理機構では、影響が出ない範囲である一定量のデータをストレージに割り当てているのだろう。ディスク1(C:)を見ると、ディスクへのアクセスもほとんど走っていない事も分かるので、割り当て量自体は大きくともアクセス自体が少ないのでメモリ速度への影響が少ないことが予想できる。
差があるとするとキャッシュ済が増えたことであろう。多くのファイルをキャッシュしておくことで、不意のアクセス切り替えがあったとしても素早く反応することができる。
ただ、様々なアプリを立ち上げたり閉じたりして暫くパソコンを弄っていていたが体感的には特に速くなったとは感じなかった。
16GBでのベンチマークを確認
次に8GBの時と同様にゲームを起動してみた。この時のメモリ使用状況は下記のようになった。
使用中のメモリが8GBをここで初めて超え、16GBにした効果が出たと言える。体感的にもベンチマークの立ち上げ時に8GBの時は一瞬カクツキあったが、今回は滑らかであった。
ベンチマークの点数は下記のようであった。
全体としては2%スコアが上昇した。これがデュアルチャネル化によるものなのか、メモリの安定性が増したからなのかは分からないが、8GBを超えるメモリを活用できているにも関わらず大してスコアは伸びなかった。
最も、明らかにメモリの使用率が100%に達しているような状態が続いているようであったならば大きく改善するであろうが。
メモリが十分な場合8GBから16GBへ増設しても効果は薄い
以上の実験から分かったことは以下の通りである。
- 仮想メモリが有効に使われており、80%程度の使用率までなら速度が体感的に落ちることはなく、それ以上であっても大きくは落ちない
- ゲームの起動など、急にメモリを多く使用したときにページングや、追加の仮想メモリを確保する影響か若干カクツキが見られたが、16GBの増設により見られなくなった
体感的には大きなメモリを使用するアプリの起動時に稀に見られるカクツキを抑え、安定感を向上させるという効果が得られた。(と思うがスコアも伸びていないのでプラシーボかもしれない。。)
これが8GBのコストに見合うのかと聞かれると、安心感を得られるため見合うと答える人もいるかもしれないが、多くの人はNoであると思われる。
また、圧縮ファイルの解凍など、大量のメモリを搭載した方が有利に働くケースが多いが、それも頻繁にする操作でなければメリットは薄い。
よってメモリは100%に近い使用状態へ定常的になり、そうなった場合にはいつもブラウザのタブの数を減らすなど苦労しているような状況でない限り、コストに見合ったメリットは受けられないと感じた。
仮想メモリの使用量が多いからという理由ではなく、複数アプリを起動している時に、体感的に明らかに遅くなったなと感じた時が増設の機会となるだろう。
特に、メモリの増設はメモリースロットにメモリを挿すだけで認識してくれるため、購入時に足りるかどうかで悩んだ場合は、最初控えめにしておき、足らなかったら増設するという方法がおすすめである。
使用するアプリによっては16GBにした方が明らかに良いケースも多いので、この記事も参考にしつつタスクマネージャーでのメモリの使用状況と、実際の体感とを比較しつつ購入を決めていこう。