回答:
@khedronが言うように、この情報はアクティビティモニターで確認できます。
コマンドラインでそれが必要な場合は、有線、アクティブ、非アクティブ、空きメモリ量を表示するために私が書いた(またはおそらく他の誰かから変更された、覚えていない、今ではかなり古い)Pythonスクリプトがあります:
#!/usr/bin/python
import subprocess
import re
# Get process info
ps = subprocess.Popen(['ps', '-caxm', '-orss,comm'], stdout=subprocess.PIPE).communicate()[0].decode()
vm = subprocess.Popen(['vm_stat'], stdout=subprocess.PIPE).communicate()[0].decode()
# Iterate processes
processLines = ps.split('\n')
sep = re.compile('[\s]+')
rssTotal = 0 # kB
for row in range(1,len(processLines)):
    rowText = processLines[row].strip()
    rowElements = sep.split(rowText)
    try:
        rss = float(rowElements[0]) * 1024
    except:
        rss = 0 # ignore...
    rssTotal += rss
# Process vm_stat
vmLines = vm.split('\n')
sep = re.compile(':[\s]+')
vmStats = {}
for row in range(1,len(vmLines)-2):
    rowText = vmLines[row].strip()
    rowElements = sep.split(rowText)
    vmStats[(rowElements[0])] = int(rowElements[1].strip('\.')) * 4096
print 'Wired Memory:\t\t%d MB' % ( vmStats["Pages wired down"]/1024/1024 )
print('Active Memory:\t\t%d MB' % ( vmStats["Pages active"]/1024/1024 ))
print('Inactive Memory:\t%d MB' % ( vmStats["Pages inactive"]/1024/1024 ))
print('Free Memory:\t\t%d MB' % ( vmStats["Pages free"]/1024/1024 ))
print('Real Mem Total (ps):\t%.3f MB' % ( rssTotal/1024/1024 ))
ご覧のとおりvm_stat、コマンドラインから呼び出すことができますが、4kBページでカウントされるため、MBに変換するスクリプトです。
また、スクリプトは、比較のために実行中のすべてのプロセスの「実メモリ」使用量をカウントアップします(メモリは複雑な獣なので、全体のメモリ統計の特定の値とは一致しません)。
私のシステムでのスクリプトの出力例は次のとおりです。
[user@host:~] % memReport.py
Wired Memory:           1381 MB
Active Memory:          3053 MB
Inactive Memory:        727 MB
Free Memory:            1619 MB
Real Mem Total (ps):    3402.828 MB
(StackExchangeのタブのサイズに合わせてわずかに調整されています;)
ps -caxm -orss= | awk '{ sum += $1 } END { print "Resident Set Size: " sum/1024 " MiB" }'
                    必要なコマンドはvm_stat-従来のUnixツールに似ていますvmstatが、MACH固有の違いがいくつかあります。マニュアルページはよく書かれています。
遅い理由はtop -l 1、完了後常に標準の遅延である1秒の遅延があるためです。コマンドに-s 0を追加すると、すぐに完了します。
top -l 1 -s 0 | grep PhysMemまた、わかりやすくするために、行に各mem-componentを表示するのが好きなので、sed置換文字列の 'PhysMem:'に合わせて9つのスペースを追加しました。
top -l 1 -s 0 | grep PhysMem | sed 's/, /\n         /g'vm_statです。
                    topは呼び出しよりも大幅に遅くなりますvm_statが、top抽出の冗長性ははるかに低く、単位はメガバイトでページではありません。さらに冗長にするために、改行を削除し、結果をにawk置き換えることができます。greptop -l 1 | grep ^PhysMem
                    pageユニットで結果を出さない/ユニットを解釈可能にするためにある種のハッキング後処理を必要としない。
                    以下は、vm_stat出力全体をより人間に優しいものにするための簡単なワンライナーです。
$ vm_stat | perl -ne '/page size of (\d+)/ and $size=$1; /Pages\s+([^:]+)[^\d]+(\d+)/ and printf("%-16s % 16.2f Mi\n", "$1:", $2 * $size / 1048576);'
free:                     2330.23 Mi
active:                   2948.07 Mi
inactive:                 1462.97 Mi
speculative:               599.45 Mi
wired down:                840.46 Mi
copy-on-write:           43684.84 Mi
zero filled:            385865.48 Mi
reactivated:               608.14 Mi
freeMac OS Xに似た端末コマンドがあります...top
詳細については、このAppleサポートドキュメントをご覧ください。
htop
                    ただ、服用@zackからソリューションを、非アクティブと投機的なブロックを追加。
#!/bin/bash
FREE_BLOCKS=$(vm_stat | grep free | awk '{ print $3 }' | sed 's/\.//')
INACTIVE_BLOCKS=$(vm_stat | grep inactive | awk '{ print $3 }' | sed 's/\.//')
SPECULATIVE_BLOCKS=$(vm_stat | grep speculative | awk '{ print $3 }' | sed 's/\.//')
FREE=$((($FREE_BLOCKS+SPECULATIVE_BLOCKS)*4096/1048576))
INACTIVE=$(($INACTIVE_BLOCKS*4096/1048576))
TOTAL=$((($FREE+$INACTIVE)))
echo Free:       $FREE MB
echo Inactive:   $INACTIVE MB
echo Total free: $TOTAL MB
free="$(( $(vm_stat | awk '/free/ {gsub(/\./, "", $3); print $3}') * 4096 / 1048576)) MiB free"tcsh(デフォルト)またはで動作しませんsh。コマンドはシェル固有ですか?
                    bashとksh特定。tcsh試してみてくださいset freeblocks=`vm_stat | grep free | awk '{ print $3 }' | sed 's/\.//'` ; set freeMB=`expr $freeblocks \* 4096 / 1048576`; set free=`echo $freeMB MiB free`。その後echo $free、空きメモリの量を印刷することができます。エイリアスを作成することもできますalias free echo $freeMB MiB free。
                    Mac OS Xで配布されているものとまったく同じものはありませんが、情報を取得する方法は他にもいくつかあります。
system_profiler -シェルにMacのシステムプロファイル情報をすべて表示します sysctl -a | grep memまたはsysctl hw.memsize(合計メモリ)上記は私の好みにはあまりにも多くの努力であり、あなたも完全にインストールされていることを前提としています... Mac OS X起動ディスクから起動した場合、上記のすべてのソリューションは明らかに動作しません。 ..コマンド "hostinfo"を使用するだけで、Mavericks(10.9.1)を実行している2012年半ばのMBAirからの出力を次に示します。
 Mach kernel version:
 Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64
Kernel configured for up to 4 processors.
2 processors are physically available.
4 processors are logically available.
Processor type: i486 (Intel 80486)
Processors active: 0 1 2 3
Primary memory available: 8.00 gigabytes
Default processor set: 195 tasks, 961 threads, 4 processors
Load average: 1.61, Mach factor: 2.38
このコマンドの優れた点は、10.9インストーラーにもプリインストールされている/usr/binことです。したがって、非常に便利です。
理想的には、RAMのみが必要な場合は、次を発行します。
$ hostinfo | grep memoryただし、hostinfoが以前のOSに存在するかどうかはわかりません...
hostinfo表示されますか?
                    top -l 1 -s 0 | awk ' /Processes/ || /PhysMem/ || /Load Avg/{print}'これはうまくいくはずです:)
最近はpsutil、そのmeminfo.pyスクリプトが最も役立つメモリ使用量の詳細を提供していると思います。試すには:
pip install psutil
curl -O https://raw.githubusercontent.com/giampaolo/psutil/master/scripts/meminfo.py
python ./meminfo.py
生成される出力は次のようになります。
MEMORY
------
Total      :   16.0G
Available  :    5.5G
Percent    :    65.8
Used       :   13.5G
Free       :    1.5G
Active     :    7.4G
Inactive   :    4.0G
Wired      :    2.1G
SWAP
----
Total      :    1.0G
Used       :   33.5M
Free       :  990.5M
Percent    :     3.3
Sin        :   15.9G
Sout       :   71.6M
Available行に注目してください。これは、スワップせずに、新しいアプリケーションを開始するために実際に使用可能なメモリ量を   示しています。
使用可能なメモリの見積もりを提供する他のMacOSユーティリティは知りません。
比較のため:Linuxシステムではavailable、現在のバージョンの出力の列に同じ種類の情報が表示されますfree:
              total        used        free      shared  buff/cache   available
Mem:           7.8G        552M        182M        156M        7.1G        6.9G
Swap:            0B          0B          0B
Total:         7.8G        552M        182M
出力のそのavailable列freeは、から来てMemAvailableい/proc/meminfoます。また、があるシステムでは/proc/meminfo、psutilはそれを使用して利用可能なメモリを推定するだけです。
しかし、MacOSにはない/proc/meminfoので、その場合の使用可能なメモリを推定するために、   psutilはLinuxで使用されるのと同じアルゴリズムを使用してを計算MemAvailableし/proc/meminfoます。
memory_pressureコマンドを試すことができます。システムの出力を見る(i5、4 GB RAM)
The system has 2147483648 (524288 pages with a page size of 4096).
Stats: 
Pages free: 90009 
Pages purgeable: 139593 
Pages purged: 7496548 
Swap I/O:
Swapins: 470466 
Swapouts: 530913 
Page Q counts:
Pages active: 407739 
Pages inactive: 148277 
Pages speculative: 16200 
Pages throttled: 0 
Pages wired down: 263064 
Compressor Stats:
Pages used by compressor: 122815 
Pages decompressed: 7327420 
Pages compressed: 17625795 
File I/O:
Pageins: 1538997 
Pageouts: 86692 
System-wide memory free percentage: 63%
これは、この投稿の2回目の再発行です。最初は2つありました-1。1つは、英語で説明していないため、修正されています。もう1つはgawk(標準のOS Xインストールの一部ではない)を使用したためawkです。これも修正され、現在はを使用しています。ザ・は-2;-)まだそこにあります。最良の方法は、おそらくコマンド自体をテストして評価することでしょうか?
フレンドリーで高度に設定可能なディスプレイを備えたエンドユーザー向けコマンドを1つだけ作成するという最初のアイデアを検討し、2つ作成しました。
free-like.sh スクリプトは常に「エンドユーザー」指向で、より正確で、「フレンドリー」で構成可能なディスプレイですが、より多くの計算とリソース消費があります。
free-like-raw.sh、コマンド指向の開発者、システム管理者など。計算量とリソース消費量は少ないが、精度も低く、「使いやすい」表示も少ない。
物理メモリのデータは、コマンドvm_statの結果(ブロックサイズで結果を返す)から抽出されます。バイト単位の変換の結果の不正確さ(number_of_blocks * block_size、計算のデフォルト値)は、0 <ブロックのサイズの間です。仮想メモリのデータはtopコマンドから取得されます。ここでの不正確さは、topコマンドの参照単位であるキロ、メガ、ギガにリンクしています。
計算は、awk(に対してbc)丸められた点を使用して行われます。awkもより速いですbc。テストスクリプトはここで見ることができます:http : //myblog.robert.sebille.name/article29.html#awk-bc
コマンドの結果は、バイト(デフォルト)、キロ、メガ、またはギガで表示でき、free-like.shの場合は小数点以下x桁、メガouギガで表示する場合は表示できます。
スクリプトは投稿するには長すぎますが、私のブログのこの記事で見つけることができます:http : //myblog.robert.sebille.name/article29.html
この記事はフランス語ですが、各コマンドとその統合ヘルプ(./free-like.sh -hおよび./free-like-raw.sh -h)の表示例が英語で表示されます。これらの補助は、コマンドを完全に説明しています。記事にはコードも表示されます。
英語は私の母国語ではありません。誰かが統合ヘルプのエラーを修正したい場合、彼は大歓迎です;)。
あなたのもの。
gawk、標準のOS Xインストールの一部ではないスクリプトが必要なようです。
                    これは私の$ PS1で実行されます。
https://github.com/vigo/dotfiles-universal/blob/master/prompts/free_memory
(Rubyバージョン:https : //github.com/vigo/dotfiles-universal/blob/master/prompts%2Ffree_memory.rb)
vm_stat キロバイト単位で表示します。
以下のonelinerはメガバイト単位で表示されます。
paste <(vm_stat | awk 'NR>1' | grep -o ".*:") <(for i in $(vm_stat | awk 'NR>1' | tr -d '.' | awk '{print $NF}'); do perl -e "print $i/1024" | awk '{printf "%0.2f", $0}'; echo; done) | column -s: -t返却値:
Pages free                      11.06
Pages active                    798.25
Pages inactive                  776.03
Pages speculative               9.15
Pages throttled                 0.00
Pages wired down                303.27
Pages purgeable                 0.95
"Translation faults"            82172.66
Pages copy-on-write             11629.60
Pages zero filled               27685.41
Pages reactivated               1450.70
Pages purged                    91.66
File-backed pages               430.20
Anonymous pages                 1153.24
Pages stored in compressor      481.75
Pages occupied by compressor    149.91
Decompressions                  1277.92
Compressions                    1622.33
Pageins                         13198.02
Pageouts                        66.61
Swapins                         54.34
Swapouts                        90.63場合は、osxでフィッシュシェルを使用し、フィッシャーのパッケージマネージャーを使用します。
次の拡張機能を作成しました:https : //github.com/fisherman/free
これは、osxの無料コマンドの完全なやり直しです。自分で見る
> free
                 total     used     free   appmem    wired   compressed
Mem:            8.00Gb   6.65Gb   1.95Gb   2.87Gb   2.09Gb   1.86Gb
+/- Cache:               1.24Gb   1.87Gb
Swap(43%):      2048Mb    877Mb   1171Mb
Load Avg:        1.63 1.95 1.95