メインコンテンツまでスキップ

memory

知らないと恥ずかしい? メモリの「RAM」と「ROM」の違い

メモリ領域の分類

プログラムから使用されるメモリは静的領域スタック領域ヒープ領域という大きく分けて3種類の領域に分けられます。

RAM(ラム) Random Access Memory

メインメモリのこと。
電源が落とすと消える媒体

メインメモリと呼ばれるRAMは、CPUが処理をしているときに使われる「作業用の領域」と言えます。 例えば、PCやスマートフォンなどのデバイスで作業する領域の例では、RAMの容量が大きければ大きいほど、たくさんのソフトやアプリの起動が可能です。 そして、RAMのデータはデバイスの電源が切れると、そのたびに消去されます。

ROM(ロム) Read Only Memory

こちらはRead Onlyという名前の通り、書き込み不可・読み出しのみ可能なメモリを指す。
たとえばゲームソフトや音楽CDなどがこれにあたる。
※なぜかデータを保存するストレージ容量を「ROM ○GB」として表記する慣習がある。2017年現在も大手3キャリアのスペック表を見ると、保存領域の容量をROMとして表現している。まるでRAMの対義語かのように。
どうやらこの表現を使っているのは日本だけのようで、海外では「Internal Memory Storage」(内部メモリストレージ)としっかり表記しているほうが多い。

PCがもっさりする理由

参考URL

  • Chrome Chromeはメモリがあればあるだけ食う、メモリ食いアプリで有名。 タブを開きまくるのは気をつける。

  • ターミナルで sudo purge コマンドを用いてメモリを解放する。 アプリを開いている状態で実行しても気休めレベル
    行うとしたらアプリすべてを起動した逆順に終了していき Finder のみの状態で行わないと本来の価値半減(macOSの場合)

PC もっさり改善

最低でも週1再起動した方がいい。
使用頻度が高いのであれば2、3日に1度は再起動をするべき。

メモリで意識すべきこと

参考URL

メモリデフラグを気にすることが重要。
メモリは一度デフラグすると再起動するまで解放されない。

たとえばアプリA B Cがあったとして下記条件。

アプリ起動順番 : A B C パソコン搭載メモリ容量 : 8GB メモリ使用容量 A : 1GB B : 3GB C : 2GB D : 残メモリ容量2GB (総容量8 - 使用量6)

ここでアプリBを終了すると、空き容量は計5GBになります。
ただし、一度に使用できる容量が5GBではありません。
2GBと3GBという個別の空き容量があるだけで、使えるのはそのどれか。 この分かれた状態を、デフラグと言います。

メモリを正しく開放するには、起動した逆順にアプリを終了していかないといけません。 今回の場合だとC B Aですね。
そうしないと上記2GBと3GBというような断片化が生じます。
メモリ空き容量はあるけど、メモリ不足って状態です。
こうやって断片化したメモリは、パソコン再起動しない限りは開放されません。

内蔵ストレージの空き容量も重要。
システムが入っているストレージの空き容量が重要で、外付けに空き容量あってもまったく関係ない、意味ありません。

一時作業領域、メモリ不足時(スワップ)に内蔵ストレージを代用します。
Macなら常に20GB以上、理想35GB以上の空き容量確保。
それに加え、行う作業、開くファイルの大きさに応じて、より空き容量を加算確保していく。
たとえば動画編集で扱う素材が計25GBで、書き出しが20GBとしたら、45GB以上を加算する必用があるって事です。

もし内蔵ストレージがSSDなら、空き容量はより重要になります。 全体の最低でも25%以上の空き容量を常に確保しないとSSD本来の速度が出ません。

デフラグについて

参考URL

デフラグとはコンピュータのファイルを書き込んだり、削除したりを繰り返していると、ファイルがあちこちに点在した状態となります。データは順序よく並べて書き込まれているのではなく状況によっては飛び飛びの領域に書き込まれます。 この断片化したデータを整理し、ファイルや空き領域を配置し直すことをデフラグと呼んでいます。

HDDの場合、デフラグは必要。
SSDの場合はHDDと構造が異なるため、断片化は速度低下の原因にならない。

その代わりに「最適化」を行うことで削除したデータをTrim機能によってSSD上から削除ができます。 そうすることで次にデータを書き込むことが高速になります。

Trim機能とは

Trim機能とはOSがSSDに削除したデータをSSDに不要なファイルであるという情報を伝達することで消去を行うことです。

この情報を伝達することでSSD側でゴミ箱で消去した不要ファイルであるとSSDが判断し、タイミングをみて消去が行われ、消去によって空いたブロックにデータの記録が行われるようになるというものです。

Macではデフラグは不要

それでは、Macでも同じHDDやSSDを使用しているのだからデフラグが必要なのではないかと思われるでしょう。

Macでは自動デフラグ機能がバックグラウンドで常時起動しているため、デフラグは自動的に行わます。

OS側でファイルに書き込むときはディスク領域を最適化して、サイズの大きいファイルが断片化されないように実行しているため、デフラグに関しては意識する必要がないということです。

Macで処理速度の改善が見込める方法

上記でMacではデフラグが必要ではないと書きましたが、Macを使用し続けると処理速度が遅くなる。
そのため再起動やディスクユーティリティの修復を使って改善する。

Macでのメモリ使用量を把握する。

Macのメモリ使用量を簡単に減らす7つの方法 (MacBook Pro、Air、iMacで適用可)
アクティビティモニターの見方

アクティビティモニター初期表示では仮装メモリ使用量のため実メモリ使用量のタブを増やしてみること。

Macのハードディスクの空き容量を開放する

参考URL

LRU【Least Recently Used】LRU方式 / LRU制御方式

参考URL

LRUとは、広さの限られた一時的な保管場所が満杯になったとき何を棄てるか決定する基準の一つで、最も過去に使用されたものから順に破棄する方式。IT分野以外でも書類の整理方法などに応用されている。