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

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

Solutions Collecting From Web of "如何从Windows命令行检索可用的RAM?"

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

 wmic OS get FreePhysicalMemory /Value 

使用wmic computersystem get TotalPhysicalMemory 。 例如:

 C:\>wmic computersystem get TotalPhysicalMemory TotalPhysicalMemory 4294500352 
 wmic OS get TotalVisibleMemorySize /Value 

请注意不要TotalPhysicalMemory建议其他地方

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 coreel version: Microsoft Windows XP, Multiprocessor Free Product type Professional Product version: 5.1 Service pack: 0 coreel 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 
 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 

有点老,但我想知道类似。 只要添加我遇到的解决方案,IMO最好的答案来自Everardo w /物理内存

wmic OS get FreePhysicalMemory /Value

这使我深入了解wmic …请记住免费物理内存不是要看的类型。

wmic OS get FreePhysicalMemory,FreeVirtualMemory,FreeSpaceInPagingFiles /VALUE

这返回像…

 FreePhysicalMemory=2083440 FreeSpaceInPagingFiles=3636128 FreeVirtualMemory=842124 

这不能在纯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; } } 

试试MemLog。 它完美而迅速地完成了这项工作。

通过许多镜像之一下载,例如: MemLog的SoftPedia页面 。
( MemLog的作者有一个网站 ,但是这是有些时候了。

示例输出:

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

878956544是自由的内存

以防万一您需要Java程序中的这个功能,您可能需要查看sigar API: http ://www.hyperic.com/products/sigar

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

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

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