4

バッチ スクリプトで使用可能なメモリを確認する方法を教えてください。すでに利用可能な方法はありますか?バッチ スクリプトでそれができない場合、使用可能なメモリを取得する他の方法はありますか?

OS: Windows XP / Windows 7

4

7 に答える 7

12

別:

C:\>wmic os get freephysicalmemory
FreePhysicalMemory
4946576

変数に解析します(wmic出力には、ヘッダーと末尾に余分な行があります)

for /f "skip=1" %%p in ('wmic os get freephysicalmemory') do ( 
  set m=%%p
  goto :done
)
:done
echo free: %m%

free: 4948108

freevirtualmemoryもご利用いただけます)

于 2012-07-05T11:49:00.177 に答える
7

このサイトには、メモリの総量取得するサンプル VBScript があります。

http://www.computerperformance.co.uk/vbscript/wmi_memory.htm

利用可能なメモリ量を報告するように適合させることができます。

' Memory.vbs
' Sample VBScript to discover how much RAM in computer
' Author Guy Thomas http://computerperformance.co.uk/
' Version 1.3 - August 2010
' -------------------------------------------------------' 

Option Explicit
Dim objWMIService, perfData, entry 
Dim strLogonUser, strComputer 

strComputer = "." 

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _ 
& strComputer & "\root\cimv2") 
Set perfData = objWMIService.ExecQuery _
("Select * from Win32_PerfFormattedData_PerfOS_Memory") 

For Each entry in perfData 
Wscript.Echo "Available memory bytes: " & entry.AvailableBytes
Next

WScript.Quit

拡張子.vbs(例: memory.vbs) を付けてファイルに保存し、cscript.exe で実行することで実行できます。例:

cscript.exe //nologo memory.vbs

...次のような出力を取得するには:

Available memory bytes: 4481511424
于 2012-07-05T11:42:49.417 に答える
6

Windows XPについてはよくわかりませんが、Windows 7では、このServerFaultの質問systeminfoに従って、(外部)コマンドを使用できます。私のコンピューターを除いて、そのコマンドはあまりにも多くの情報を表示したので、関連する部分だけに制限する方法は次のとおりです。

systeminfo | find "Physical Memory"

上記は、次の情報を表示します。

合計物理メモリ:      n、nnn MB
使用可能な物理メモリ:n、nnn MB

行だけが必要な場合はAvailable、検索をより具体的にします。

systeminfo | find "Available Physical Memory"
于 2012-07-05T11:40:34.480 に答える
3

これは、バッチ スクリプトとプログラムに使用可能なメモリを示しています。

>mem | find "total"
    655360 bytes total conventional memory
   1048576 bytes total contiguous extended memory

MEM /? と入力します。詳細については

編集:新しいコメントへの回答

>mem | find "avail"
    655360 bytes available to MS-DOS
         0 bytes available contiguous extended memory
    941056 bytes available XMS memory

>mem

    655360 bytes total conventional memory
    655360 bytes available to MS-DOS
    599312 largest executable program size

   1048576 bytes total contiguous extended memory
         0 bytes available contiguous extended memory
    941056 bytes available XMS memory
           MS-DOS resident in High Memory Area
于 2012-07-05T20:20:59.140 に答える
1

これはうまくいくはずです:

free_mem=`free | sed -n 2p | awk '{print $4}'`

これにより、空きメモリが得られます。合計が必要な場合は、最初の列 ($1) を取得します。

于 2012-07-05T11:19:20.877 に答える