\r\n\r\n
そのため、LinuxはWindowsよりも必要なシステムリソースが少ないという前提でインストールすることになります。では、なぜ突然、システムのメモリが不足するようになったのでしょうか?
何が起こっているのかを理解するために、Linux がどのようにメモリを管理しているのかを見なければならない。
Linuxでは何でもそうですが、RAMの使用量を確認する方法が複数あります。商用オペレーティングシステムから来た場合は、WindowsタスクマネージャやmacOSアクティビティモニタのようなアプリケーションを開くと簡単かもしれません。このアプリケーションの名称は、お使いのLinuxデスクトップ環境に応じて異なります。
最も広く使われているオプションであるGNOMEでは、System Monitorと呼ばれるプログラムが開かれます。KDEでは、同様の完全な機能を持つ代替品として、K***oleが代わりに使用されます。他のデスクトップ環境にも、名称は異なるが同様のツールがある。
デスクトップ環境に関係なく使える方法としては、コマンドラインを使う方法があります。ターミナルアプリケーションを開き、次のコマンドを入力します。
freeこのような結果が表示されます。この数値は、マシンのRAMの容量やアクティブなプログラムの数によって変化します。
RAMをより詳しくご覧になりたい方は、以下をお試しください。
cat /proc/meminfo上記のコマンドは、PC上の空きメモリの量を確認するために使用するfreeコマンドと同じファイルを読み込みます。
もしあなたの数字が明らかに見えるなら、おそらくLinuxがあなたのRAMを食い尽くしてしまっているのでしょう。例えば、4GBのRAMがあり、3.9GBが使用されているとします。余分なアプリケーションは0.1GBしかないようですパソコンが緊急停止する一歩手前まで来ているようです。
もう一回見てください。今回は、「利用可能」の項目に注目してください。そこで、実際にアプリケーションに開いているデータが1GBであることがわかるかもしれません。でも、どうすればいいんだろう?全てはLinuxがRAMをどのように管理し、使用するかということに尽きると思います。
LinuxのRAMの使い方は、Windowsや他のOSとあまり変わりません。しかし、システムによって、起こることの表現方法は異なります。
コンピュータは、メモリが使用されていないと判断すると、その容量の一部をディスクキャッシュに使用します。このように、アプリケーションはデータをより速くアクセスできる場所に保存することで、システムの動作をより速く、よりスムーズにすることができるのです。他のアプリケーションがより多くのメモリを必要とする場合、このディスクキャッシュから必要な量のメモリを、あたかもアイドル状態であるかのように取得することになる。
つまり、Linuxはこの空き時間を有効に使っているのだ。なぜ、空きメモリを無駄にするのか?
このようにどれくらいの容量が使われているかは、「buff/cache」の欄を見てください。コマンド実行時にバッファとキャッシュに専用されるRAMの量です。この領域をクリアすることで、パフォーマンスが向上する可能性があるという考え方は、RAMに関する一般的な誤解です。
さて、これで一通り理解できたと思いますが、まだ混乱しがちです。
無料と利用可能は同義語のようですが、技術的な違いがあります。前者は、全く使われていないメモリです。後者は、現在使用中のメモリですが、必要に応じて簡単に開くことができます。普段使いの場合、本当に重要なのは後者です。
何らかの理由で、Linux カーネルがバッファとキャッシュに使用している RAM をクリアしたいとします。システムを最高の状態で稼働させたいのであれば、成り行きに任せてください。
これらのコマンドは、システム管理者として実行することになります。
pagecacheをクリアするには、次のコマンドを入力します。
echo 1 > /proc/sys/vm/drop_caches入れ歯とイノデを取り除くには、数字を2に変更します。
echo 2 > /proc/sys/vm/drop_cachespagecache、dentries、inodeを同時にクリアする場合は、数値を3に変更します。
echo 3 > /proc/sys/vm/drop_cachesもしこれらのコマンドがコンピュータの動作のスムーズさを向上させないのであれば、なぜ全く実行しないのでしょうか?そうすることで、再起動することなく、変更後のコンピュータのパフォーマンスを比較することができます。もしあなたが、自分のコンピュータのベンチマークやテストをしたことがないのなら、わざわざする理由はほとんどないでしょう。
これらのことから、LinuxではRAMのチェックやメモリの管理は必要ないということでしょうか?そうではありません。
LinuxはRAMを最適化する方法を知っていますが、アプリケーションがそうするとは限りません。ブラウザがRAMを使い果たすことがあります。ゲームはシステムリソースを解放することなくフリーズすることがあります。サイズの大きな画像を読み込もうとすると、画像ビューアがハングアップする場合があります。
どのプログラムがコンピューターに負担をかけているかを確認するには、次のトップコマンドを使用してみてください。
topその結果、こうなりました。
さて、不具合のあるプログラムを見つけたところで、どうすればいいのでしょうか?killコマンドを使用するのも一つの方法です。そのためには、topを入力したときにプログラムの横に表示されるPID番号をメモしておきます。必要になります。
kill -9 2470また、killallコマンドで、その名前を使ったプログラムを終了させることもできます。
killall firefoxコンピュータのメモリは、人生の多くの事柄とは異なり、多かれ少なかれ自分で管理することができます。ここでは、現状を把握し、対策が必要なときに踏み出すための方法を紹介します。これで、メモリ使用量とどのプログラムが使用しているかを確認する方法がわかりました。また、スペースを取っている活動を止めるための手段もあります。
しかし、上記のツールは、Linuxのツールボックスで利用可能なものの範囲とは言い難いものです。動作の遅いLinuxコンピュータを高速化し、Linuxカーネルを更新してより**高性能にする記事をご覧ください。