Linux メモリ管理アーティファクト: smem ツール
皆さんこんにちは、私です。
今日は、Linux システムにおける非常に実用的なメモリ管理ツール smem
を紹介したいと思います。
smem
は、さまざまなメモリ使用量レポートを生成できるコマンド ライン ツールです。他の既存のツールとは異なり、smem
は、より意味のあるメトリクスである PSS (比例セット サイズ、比例占有サイズ) をレポートできます。仮想メモリ システム内のライブラリとアプリケーションによって使用されるメモリ量を正確に測定します。
従来、ほとんどの物理メモリは複数のアプリケーション間で共有されることが多いため、メモリ使用量の尺度として常駐セット サイズ (RSS) を使用すると、実際のメモリ消費量が過大評価されます。対照的に、PSS パラメーターは、各共有メモリ領域で各アプリケーションによって割り当てられたメモリを測定し、より現実的で正確なメトリックを提供します。
1. smem ツールをインストールします
Fedora 19 以降を使用している場合、smem
はデフォルトでリポジトリにあるため、yum
:
Ubuntu ユーザーの場合、apt-get
コマンドを使用して smem
:
正常にインストールできない場合は、ソース コードをダウンロードして、次のアドレスから直接インストールできます: https://www.selenic.com/smem/download/
2. smem ツールの一般的な使用法
デフォルトでは、smem
は実行中の各プロセスと使用されているメモリを表示します。ここで、USS および PSS と比較した RSS のサイズに注目すると、他の 2 つよりも大幅に大きいことがわかります。

さらに、smem
は、各ライブラリが使用しているメモリを表示することもできます。この結果は比較的長く、システムによっては時間がかかる場合があります。
このコマンドでは結果が多すぎます。Firefox などの特定のアプリケーションのメモリ使用量を確認したい場合は、grep
コマンドと組み合わせて使用し、-p# を使用できます。 # 同時に # メモリ使用量をパーセンテージで表示するオプション。
リーリー

smem このコマンドでは、各
user のメモリ使用量も表示できます。-u オプションを使用する必要があります:
$ smem -u -p

你还可以使用 -w
选项查看系统内存使用情况:
$ smem -w -p

3. 结果可视化输出
显示数字毕竟不直观,我们还可以使用 smem
生成图形图表来显示内存使用情况,一目了然。要达到这个目的,我们需要使用到除了不能生孩子啥都可以干的 Python 。
但光有 Python 还不行,还需要安装用于生成图表的 matplotlib
库。
Fedora 用户可以通过运行以下命令来安装它:
$ sudo yum install python-matplotlib
Ubuntu 用户可以通过运行下面命令获得它:
$ sudo apt-get install python-matplotlib
库安装之后,现在就可以以条形图或饼图的形式将获得的内存使用情况以可视化表示。
3.1 饼形图
使用 smem
以饼图的形式查看内存使用情况,需要加上 --pie
选项,如下所示:
$ smem --pie name -s pss
命令运行之后将生成一个饼图。请注意,这条命令里我们还加了 -s pss
,意思是显示 PSS 的内存使用情况。要获取 USS 和 RSS 的饼图,只需将命令中的 pss 替换为 uss 或 rss 即可。


从两个饼图中,可以看到 RSS 报告还有 41.74% 的未使用内存,而 PSS 报告有 53.02% 的未使用内存。可以看出来,RSS 显示的可用内存偏小,但实际还有很充足的内存空间。
3.2 柱状图
smem
的另一个很酷的特性是以柱状图的形式生成输出。有了这个功能,你可以一次性查看 USS、PSS 和 RSS 报告的内存使用情况。
要实现这个功能,需要加上 --bar
选项:
$ smem --bar pid -c "pss uss rss"
上面的命令将给出带有进程 ID 号的内存使用情况的输出结果。如果想要查看进程的名称,可以将 pid
替换为 name
即可。
命令运行之后,可以生成如下图所示的条柱状图。

以上がLinux メモリ管理アーティファクト: smem ツールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

はじめに:Linuxベースの倫理的ハッキングでデジタルフロンティアを保護します ますます相互に接続されている世界では、サイバーセキュリティが最重要です。 倫理的なハッキングと浸透テストは、脆弱性を積極的に特定し、緩和するために不可欠です

基本的なLinux学習の方法は次のとおりです。1。ファイルシステムとコマンドラインインターフェイス、2。LS、CD、MKDIR、3。ファイルの作成と編集などのファイル操作を学習するマスター基本コマンド、4。

Linuxは、サーバー、組み込みシステム、デスクトップ環境で広く使用されています。 1)サーバーフィールドでは、Linuxは、その安定性とセキュリティにより、Webサイト、データベース、アプリケーションをホストするための理想的な選択肢となっています。 2)埋め込みシステムでは、Linuxは高いカスタマイズと効率で人気があります。 3)デスクトップ環境では、Linuxはさまざまなユーザーのニーズを満たすために、さまざまなデスクトップ環境を提供します。

Linuxの欠点には、ユーザーエクスペリエンス、ソフトウェア互換性、ハードウェアサポート、学習曲線が含まれます。 1.ユーザーエクスペリエンスは、WindowsやMacOほどフレンドリーではなく、コマンドラインインターフェイスに依存しています。 2。ソフトウェアの互換性は他のシステムほど良くなく、多くの商用ソフトウェアのネイティブバージョンがありません。 3.ハードウェアサポートはWindowsほど包括的ではなく、ドライバーは手動でコンパイルされる場合があります。 4.学習曲線は急で、コマンドラインの操作をマスターするには時間と忍耐が必要です。

linuxisnothardtolearn、butthedifficultydependsonyourbackgroundandgoals.forthosewithosexperience、特にcommand-llinefamparsition、linuxisaneasyytransition.beginnersmayteeper relearningcurvebutcanagewithpersources.linux'sopen-sourcenature

Linuxの5つの基本コンポーネントは次のとおりです。1。カーネル、ハードウェアリソースの管理。 2。機能とサービスを提供するシステムライブラリ。 3.シェル、ユーザーがシステムと対話するインターフェイス。 4.ファイルシステム、データの保存と整理。 5。アプリケーション、システムリソースを使用して機能を実装します。

スマートホームで新しい章を開く:Ubuntuに基づくオープンソースホームオートメーションシステム Smart Home Technologyは、私たちが生きている空間との対話方法に革命をもたらし、利便性、安全性、エネルギー効率を日常生活にもたらしました。ライトや電化製品のリモートコントロールから、セキュリティカメラや自動気候制御の監視に至るまで、スマートホームテクノロジーはますます人気が高まっています。 ただし、多くのビジネススマートホームシステムには、高コスト、プライバシーの問題、互換性が限られているという制限があります。幸いなことに、オープンソースソフトウェアソリューションは、Ubuntuの力を組み合わせて代替手段を提供します。これにより、ユーザーはカスタマイズ可能で費用対効果が高く、安全なスマートホームエコシステムを作成できます。 このガイドでは、Ubuntuとオープンソースツールを使用してホームオートメーションシステムをセットアップする方法について説明します。

Linux vs. Windows:2025比較 MacosまたはWindowsからの切り替えを考えていますか? Linuxが答えかもしれません。 MACOSユーザーは(MacOSのUNIXコアのため)比較的スムーズな移行を見つけるでしょうが、Windowsユーザーは適応する必要があります。このガイドヒグ


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SublimeText3 中国語版
中国語版、とても使いやすい

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。
