如何从Windows命令行检索可用的RAM?

时间:2012-02-01 12:38:13

标签: windows command-line cmd

Windows或第三方程序中是否有可以检索计算机上可用RAM的命令行实用程序? (因为我不相信这可以在纯JAVA中完成,因为它在虚拟机中运行,具有预置/分配的RAM)?

11 个答案:

答案 0 :(得分:39)

systeminfo是一个输出系统信息的命令,包括可用内存

答案 1 :(得分:29)

wmic OS get FreePhysicalMemory /Value

答案 2 :(得分:20)

使用wmic computersystem get TotalPhysicalMemory。 E.g:

C:\>wmic computersystem get TotalPhysicalMemory
TotalPhysicalMemory
4294500352

答案 3 :(得分:9)

SysSnternals提供了大量有用的低级别工具。

psinfo可能是最有用的。

我使用了以下psinfo开关:

-h        Show installed hotfixes.
-d        Show disk volume information.

示例输出是:

c:> psinfo \\development -h -d

PsInfo v1.6 - local and remote system information viewer
Copyright (C) 2001-2004 Mark Russinovich
Sysinternals - www.sysinternals.com


System information for \\DEVELOPMENT:
Uptime: 28 days, 0 hours, 15 minutes, 12 seconds
Kernel version: Microsoft Windows XP, Multiprocessor Free
Product type Professional
Product version: 5.1
Service pack: 0
Kernel build number: 2600
Registered organization: Sysinternals
Registered owner: Mark Russinovich
Install date: 1/2/2002, 5:29:21 PM
Activation status: Activated
IE version: 6.0000
System root: C:\WINDOWS
Processors: 2
Processor speed: 1.0 GHz
Processor type: Intel Pentium III
Physical memory: 1024 MB
Volume Type Format Label Size Free Free
A: Removable 0%
C: Fixed NTFS WINXP 7.8 GB 1.3 GB 16%
D: Fixed NTFS DEV 10.7 GB 809.7 MB 7%
E: Fixed NTFS SRC 4.5 GB 1.8 GB 41%
F: Fixed NTFS MSDN 2.4 GB 587.5 MB 24%
G: Fixed NTFS GAMES 8.0 GB 1.0 GB 13%
H: CD-ROM CDFS JEDIOUTCAST 633.6 MB 0%
I: CD-ROM 0% Q: Remote 0%
T: Fixed NTFS Test 502.0 MB 496.7 MB 99%
OS Hot Fix Installed
Q147222 1/2/2002
Q309521 1/4/2002
Q311889 1/4/2002
Q313484 1/4/2002
Q314147 3/6/2002
Q314862 3/13/2002
Q315000 1/8/2002
Q315403 3/13/2002
Q317277 3/20/2002

答案 4 :(得分:5)

有点旧,但我想知道类似的。刚刚添加我自IMO以来遇到的解决方案,最好的答案来自Everardo w / Physical Memory

  

wmic OS get FreePhysicalMemory /Value

这让我更深入地了解wmic ...请记住,Free Physical Memory不是要看的类型。

wmic OS get FreePhysicalMemory,FreeVirtualMemory,FreeSpaceInPagingFiles /VALUE

这会返回类似......

的内容
FreePhysicalMemory=2083440
FreeSpaceInPagingFiles=3636128
FreeVirtualMemory=842124

答案 5 :(得分:4)

PS C:\Users\Rack> systeminfo | findstr "System Memory"
System Boot Time:          5/5/2016, 11:10:41 PM
System Manufacturer:       VMware, Inc.
System Model:              VMware Virtual Platform
System Type:               x64-based PC
System Directory:          C:\Windows\system32
System Locale:             en-us;English (United States)
Total Physical Memory:     40,959 MB
Available Physical Memory: 36,311 MB
Virtual Memory: Max Size:  45,054 MB
Virtual Memory: Available: 41,390 MB
Virtual Memory: In Use:    3,664 MB

答案 6 :(得分:1)

这不能在纯java中完成。但是你可以使用java运行外部程序并获得结果。

Process p=Runtime.getRuntime().exec("systeminfo");
Scanner scan=new Scanner(p.getInputStream());
while(scan.hasNext()){
    String temp=scan.nextLine();
    if(temp.equals("Available Physical Memmory")){
       System.out.println("RAM :"temp.split(":")[1]);
       break;
    }
}

答案 7 :(得分:1)

尝试MemLog。它可以完美而快速地完成工作。

通过众多镜像之一下载,例如这一个:SoftPedia page for MemLog
MemLog's author has a web site。但这已经过了一段时间。返回机器快照here。)

示例输出:

C:\>memlog
2012/02/01,13:22:02,878956544,-1128333312,2136678400,2138578944,-17809408,2147352576

878956544是免费记忆

答案 8 :(得分:0)

如果您在Java程序中需要此功能,您可能需要查看sigar API:http://www.hyperic.com/products/sigar

实际上,我知道这不是问题的答案,而是一个提示,所以你不必重新发明轮子。

答案 9 :(得分:0)

实际上这是一个纯粹的Java解决方案:

public static long getFreePhysicalMemory()
{
    com.sun.management.OperatingSystemMXBean bean =
            (com.sun.management.OperatingSystemMXBean)
                    java.lang.management.ManagementFactory.getOperatingSystemMXBean();
    return bean.getFreePhysicalMemorySize();
}

答案 10 :(得分:0)

已发布的 wmic 命令的 Powershell 版本:

Get-CIMInstance Win32_OperatingSystem | Select *memory*

FreePhysicalMemory     : 1507688
FreeVirtualMemory      : 2131128
MaxProcessMemorySize   : 137438953344
TotalVirtualMemorySize : 13639352
TotalVisibleMemorySize : 8214848