Camera Test
ベンチマークテスト

メモリベンチマーク

ブラウザで型付き配列の割り当てと読み書きのスループットを測定し、ブラウザが実際に公開しているメモリの数値を確認します。

Browser-reported memory

navigator.deviceMemory

Not exposed by this browser

JS heap (performance.memory)

Not exposed by this browser

Chromium browsers round deviceMemory to one of 0.25, 0.5, 1, 2, 4 or 8 GB, and it can be lower than your real RAM. Firefox and Safari do not expose either figure, which is normal and not a bug.

Throughput benchmark

Allocates and reads/writes typed arrays in JavaScript to estimate practical memory speed.

メモリベンチマーク のクイックガイド

1分未満で完了
  1. 1ブラウザが自由に割り当てられるように、メモリを大量に消費するタブを閉じてください。
  2. 2ベンチマークを実行し、すべてのフェーズが完了するまで待ってください。
  3. 3割り当て、読み取り、書き込みのスループットを個別に確認してください。
  4. 4レポートされるヒープ制限はブラウザの上限であり、総RAMではありません。

概要

メモリ速度はCPUのクロック速度やGPUモデルほど注目されることは稀ですが、コンピューターが行うすべてのことに静かに影響を与えます。プロセッサが実行するすべての命令は最終的にどこかのデータを読み書きする必要があり、そのデータが遅いメモリを経由しなければならない場合、高速なCPUでさえ待機することになります。このテストは、JavaScriptがどれだけ速くメモリを割り当て、データを移動できるかについてブラウザベースの視点を提供し、さらに特定のブラウザが公開するメモリ情報も提供します。

このベンチマークは型付き配列、特に生メモリブロックに最も近いJavaScriptのFloat64Arrayバッファを使用します。これは4つの異なる操作の時間を測定します。新しい配列をどれだけ速く割り当てられるか、データを配列に順序通りにどれだけ速く書き込めるか、同じデータを順序通りにどれだけ速く読み戻せるか、そしてメモリアクセスパターンがシーケンシャルではなくランダム化された場合にこれらの速度がどのように変化するかを測定します。

スループット数値に加えて、このページでは利用可能な場合、ブラウザが公開する2つの数値を読み取ります。navigator.deviceMemoryはシステムRAMの総容量のおおよその値、performance.memoryはChromiumベースのブラウザでJavaScriptヒープの現在のサイズと最大サイズを報告します。どちらも、そこから結論を導き出す前に理解しておくべき実際の制限があります。

結果の読み方

割り当てスループット

これは、ブラウザが新しい配列のためにメモリから1秒間に何メガバイトを確保できるかを測定します。生のハードウェアだけでなく、JavaScriptエンジンのメモリマネージャーとガベージコレクターにも影響されるため、ここでの違いはRAMチップそのものよりもブラウザについて語ることが多いです。

シーケンシャルアクセスとランダムアクセス

シーケンシャルな読み書きの数値はランダムな読み書きの数値よりも著しく高くなるはずであり、この差はCPUキャッシュの動作方法により、すべてのコンピューターで正常かつ予想されるものです。シーケンシャルとランダムの速度の差が非常に小さい場合、それは問題ではなく、むしろメモリサイズに対してプロセッサキャッシュが非常に高速であることを示している可能性があります。

deviceMemoryとヒープの数値

Chromiumは、実際にインストールされているRAMの量に関わらず、navigator.deviceMemoryを8GBに上限設定しているため、正確なRAM数値ではなく、おおよその階層指標として扱ってください。JSヒープの数値は、現在この特定のブラウザタブに割り当てられているものを反映しており、ページとそのツールが実行されるにつれて増加しますが、これはメモリリークではなく、予期される動作です。

トラブルシューティング

deviceMemoryまたはヒープの数値が「Not exposed」と表示される

これはFirefoxとSafariでは予想されることです。これらのブラウザはプライバシー上の理由からこれらのAPIをまったく実装していません。これらの数値を特に確認する必要がある場合は、Chrome、Edge、Brave、または他のChromiumベースのブラウザに切り替えてください。

スループットの数値が異常に低いようです

他のメモリ負荷の高いタブ、特に大きな画像や動画を含むタブ、または同じサイトから多数開いているタブは、同じJavaScriptヒープ領域と物理RAMを奪い合うため、閉じてください。タブを閉じるだけでなく、ブラウザを完全に再起動することで、速度低下の原因となる蓄積されたメモリの断片化が解消されます。

テスト中にブラウザタブがクラッシュしたか、応答しなくなった

ベンチマークが型付き配列を実行するために数百メガバイトの余裕が必要なため、空きRAMが非常に少ないデバイスで発生する可能性があります。他のアプリケーションやタブを閉じてメモリを解放し、同時に実行するものを減らして再試行してください。

ブラウザが意図的に隠しているもの、そしてその理由

詳細なメモリ情報は、正確なRAM容量と他の信号を組み合わせることで、特定のデバイスモデルを特定できるため、デバイスのフィンガープリントに使用される可能性があります。このため、どのブラウザもギガバイト単位の正確なRAM、MHz単位の正確なメモリ速度、またはメモリチャネル構成を公開していません。ChromeはdeviceMemoryを6つの大まかな範囲に丸めることで妥協していますが、FirefoxとSafariはトラッキングに使用されるリスクを避けるため、APIを完全に削除しています。

これは、ブラウザベースのメモリテストが、Task Manager、Activity Monitor、またはメーカーのシステム情報パネルのようなツールを完全に置き換えることはできないことを意味します。むしろ、このテストは実用的なスループットを測定し、ブラウザ間や、RAMスティックの追加やより高速なメモリキットへのアップグレードといったハードウェア変更後のスループットを比較するのに適しています。

メモリが実際にボトルネックになっている場合

多数のブラウザタブやアプリケーションを同時に開いているときにコンピューターが特に遅く感じられ、それらをいくつか閉じると速度が戻る場合、それは速度ではなくメモリ容量がボトルネックになっている典型的な兆候です。代わりに、ほとんど何も開いていないのにすべてが遅く感じられ、このベンチマークのスループット数値が類似のハードウェアの一般的な値よりも著しく低い場合、それは、定格よりも遅いモードでRAMが動作しているなど、メモリ速度または構成の問題を示唆しています。

  • このブラウザテストだけでなく、OSのシステム情報パネルでインストールされているRAMの容量と速度を確認してください。
  • バックグラウンドアプリケーションを閉じる前と後で、このテストの数値を比較してください。
  • このテストをこのサイトのCPUおよびストレージベンチマークと組み合わせて、他のボトルネックを除外してください。

よくある質問

ウェブサイトは実際にRAM速度を測定できますか?

ウェブサイトは、JavaScriptが型付き配列をどれだけ速く割り当ててアクセスできるかを測定できます。これは実際のメモリ速度と相関していますが、JavaScriptエンジン、ガベージコレクター、CPUキャッシュの動作によるオーバーヘッドも含まれます。これは、専用のハードウェア診断ソフトウェアから得られるようなラボレベルのメモリ帯域幅テストではなく、実用的な有用な測定値です。

navigator.deviceMemoryが実際のRAMよりも低い数値を表示するのはなぜですか?

Chromiumベースのブラウザは、プライバシー保護のためにこの値を意図的に丸め、少数の数値(0.25、0.5、1、2、4、または8 GB)のいずれかに上限を設けているため、32GBのRAMを搭載したシステムでも最大8GBと報告されます。これは意図的なものであり、問題の兆候ではありません。

なぜFirefoxやSafariはdeviceMemoryやperformance.memoryを全く表示しないのですか?

これらのAPIは、詳細なメモリ情報がサイト間でのユーザーのフィンガープリンティングやトラッキングに使用される可能性があるという懸念から、両ブラウザで実装しないことが選択されています。この情報が必要な場合は、Chrome、Edge、またはその他のChromiumベースのブラウザで表示されます。

このテストで通常見られる読み取り/書き込み速度はどれくらいですか?

現代のハードウェアでは、シーケンシャル読み取りおよび書き込み速度が数千MB/秒台であるのが一般的です。これは物理的なRAMチップの帯域幅を直接測定するのではなく、ヒープ上の配列アクセスを測定するためです。ランダムアクセス速度は、CPUキャッシュミスにより通常シーケンシャル速度よりも著しく低くなりますが、これは予想されることであり、欠陥ではありません。

なぜランダムアクセスはシーケンシャルアクセスよりも遅いのですか?

CPUはキャッシュラインサイズのチャンクでメモリを読み取り、シーケンシャルパターンをうまく予測するため、連続したメモリアドレスはキャッシュから素早く読み込まれます。ランダムに散らばったアドレスは、この予測を妨げ、より遅いメインメモリへのアクセスを多く発生させます。これはブラウザの制限ではなく、コンピュータのメモリ階層の基本的な特性です。

他のブラウザタブを閉じるとスコアは向上しますか?

はい、特にすでに大量のデータをメモリに保持しているタブは、同じ物理RAMを競合し、テスト中にガベージコレクションの一時停止を引き起こす可能性があるため、スコアが向上する可能性があります。ベンチマークを実行する前に無関係なタブを閉じると、よりクリーンで再現性の高い結果が得られます。

performance.memory.jsHeapSizeLimitは実際には何を意味しますか?

これは、JavaScriptエンジンが積極的にガベージコレクションを開始したり、メモリ不足エラーをスローしたりする前に、このページに対して許可するヒープの最大サイズであり、システム全体のRAMではありません。これはタブごとの安全制限であるため、物理RAMがはるかに多いマシンでも、通常は数ギガバイトです。

割り当てスループットの数値が実行ごとに一貫しないようです。なぜですか?

Garbage collection timing is not perfectly predictable, so if a collection cycle happens to run during the timed allocation loop, that run will show lower throughput. Running the benchmark two or three times and looking at the typical result rather than a single outlier gives a more reliable picture.

このテストでRAMに欠陥があるかどうかを判断できますか?

確実ではありません。このベンチマークはスループットと速度の傾向を測定しますが、RAMの欠陥を検出するには、ブラウザの外部で実行され、すべてのメモリアドレスを直接チェックするmemtest86のような徹底的なビットパターンテストツールが必要です。ハードウェアの欠陥を疑う場合は、専用のメモリ診断ツールを使用してください。

RAMが多いほど常に良いスコアが出ますか?

直接的にはそうではありません。このテストは、ほぼすべての最新デバイスが利用できる範囲内の、固定された控えめな量のメモリを割り当てるため、総容量ではなくアクセス速度を測定します。総RAMは少ないがメモリチップが速いデバイスは、RAMは多いがチップが遅いデバイスよりも良いスコアを出すことができます。

関連テスト

関連ガイド

Written by Chhandita ShitReviewed by Buddheswar DandapatLast updated July 28, 2026