Windows或第三方程序中是否有可以檢索計算機上可用RAM的命令行工具? (因爲我不相信這可以在純Java中完成,因爲它在虛擬機中運行,它具有預設/分配的RAM)?如何從Windows命令行檢索可用的RAM?
回答
systeminfo
是一個命令,該命令將輸出系統信息,包括可用存儲器
upvoted它是原生的;但是它是本地化的並且增加了逗號。 '總物理內存:3,794 MB' – n611x007 2015-07-12 12:44:02
有從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
upvoted for一個非本地化的工具 – n611x007 2015-07-12 12:41:42
萬一你在Java程序需要此功能,你可能想看看SIGAR API:http://www.hyperic.com/products/sigar
其實,這是沒有問題的答案,我知道,但一個提示,所以你不必重新發明輪子。
wmic OS get TotalVisibleMemorySize /Value
注意不TotalPhysicalMemory
其他地方一樣
這不能用純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。它完美快速地完成了這項工作。
通過許多鏡子之一下載,例如這一個: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
是空閒內存
wmic OS get FreePhysicalMemory /Value
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
也許更好地改變字符串只是「記憶」即, systeminfo | findstr「內存」。這隻會返回五個條目,全部與內存相連 – noonand 2016-06-17 13:30:29
位舊但我想知道類似的。只需添加我碰到因爲IMO的解決方案的最佳答案來自埃韋拉多W /物理內存
wmic OS get FreePhysicalMemory /Value
這使我更深入瞭解WMIC ......請記住,可用物理內存是不是要看的類型。
wmic OS get FreePhysicalMemory,FreeVirtualMemory,FreeSpaceInPagingFiles /VALUE
這將返回類似...
FreePhysicalMemory=2083440
FreeSpaceInPagingFiles=3636128
FreeVirtualMemory=842124
這裏是一個純Java
解決方案實際上是:
public static long getFreePhysicalMemory()
{
com.sun.management.OperatingSystemMXBean bean =
(com.sun.management.OperatingSystemMXBean)
java.lang.management.ManagementFactory.getOperatingSystemMXBean();
return bean.getFreePhysicalMemorySize();
}
請注意:這是特定於平臺的,可能不適用於所有硬件/軟件平臺。 – Nick 2017-01-17 01:51:10
@Nick:但它通常在'Windows'上工作,所以它已經是一個好開始 – BullyWiiPlaza 2017-01-17 07:11:00
是的,你是對的,對不起,我應該指出,因爲問題是特定於Windows。 – Nick 2017-01-17 15:07:39
- 1. 如何從Java程序中檢索可用RAM的數量?
- 2. 如何從Windows命令行運行Qt
- 3. 如何從Windows命令行運行Maxima
- 4. 如何從模塊中檢索可用命令?
- 5. 從Windows命令提示符執行命令可執行文件
- 6. Docker - 從圖像檢索命令行
- 7. 如何從命令行更改android模擬器RAM大小?
- 8. 如何從Windows命令
- 9. 如何從shell或windows內聯命令執行java jshell命令
- 10. 如何在C#中運行命令並從中檢索數據?
- 11. 從Windows命令行ipython
- 12. 如何檢索netstat命令的結果
- 13. 如何使用Windows命令行
- 14. 如何使用Windows SDK 7.1從命令行運行msbuild?
- 15. 搜索從命令行
- 16. 從命令行搜索cpan.org
- 17. Windows命令行
- 18. Windows 7如何從命令行更改LDAP用戶的密碼
- 19. 如何從命令行更改Windows服務的用戶憑據?
- 20. 如何從Windows命令行以管理員身份運行命令?
- 21. 如何從Windows 10上的命令行運行PHP腳本
- 22. 如何運行蟒蛇Windows命令行命令時,命令有雙引號
- 23. Howto:從Windows命令行搜索文件中的字符串?
- 24. 從Windows命令行運行Python
- 25. 根據用戶指定的輸入從python腳本執行windows命令行從CVS存儲庫檢索文件
- 26. 用於索引網站的Windows命令?
- 27. 從Windows的命令行構建Android
- 28. 如何從vb.net應用程序運行windows命令「mklink」?
- 29. 如何從命令行
- 30. CVS - 如何從命令行
你的問題的標題是問題文本有點不同。你願意在java中檢索它嗎? – diggingforfire 2012-02-01 12:43:06
@diggingforfire如果可能,目前爲止的建議不是很好 – Mike 2012-02-01 13:21:02
您的實際問題「如何從Windows命令行檢索可用RAM」已得到解答。你應該更清楚一點,如果你的問題的目的是「如何從Java中檢索可用的RAM」,那麼標題會誤導人。但即使已經給出了答案。你可以簡單地解析'systeminfo'命令的輸出。 – diggingforfire 2012-02-01 14:21:07