Esiste un'utilità della riga di comando all'interno di Windows o di un programma di terze parti in grado di recuperare la RAM disponibile su una macchina? (Dal momento che non credo che questo possa essere fatto in puro JAVA, dal momento che viene eseguito all'interno di una macchina virtuale, che ha RAM preimpostata/allocata)?Come recuperare la RAM disponibile dalla riga di comando di Windows?
risposta
systeminfo
è un comando che mostra informazioni di sistema, come la memoria disponibile
upvoted è nativo; ma è localizzato e arrotonda e aggiunge virgole. 'Memoria fisica totale: 3.794 MB' – n611x007
C'è un insieme di strumenti utili a basso livello da SysSnternals.
E psinfo
può essere il più utile.
I utilizzati i seguenti parametri: PsInfo
-h Show installed hotfixes.
-d Show disk volume information.
uscita campione è presente:
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
ingrandita per un programma di utilità non localizzato – n611x007
Usa wmic computersystem get TotalPhysicalMemory
. Ad esempio:
C:\>wmic computersystem get TotalPhysicalMemory
TotalPhysicalMemory
4294500352
Solo nel caso avete bisogno di questa funzionalità in un programma Java, si potrebbe desiderare di guardare l'API Sigar: http://www.hyperic.com/products/sigar
In realtà, questa non è una risposta alla domanda, lo so, ma un suggerimento in modo da non dover reinventare la ruota.
wmic OS get TotalVisibleMemorySize /Value
Nota non TotalPhysicalMemory
come suggerito altrove
Ciò non darà la disponibilità RAM ma la RAM totale. Per la RAM disponibile, la risposta di @Everardo è corretta - 'Wmic OS get FreePhysicalMemory/Value' –
Bello, grazie! – noonand
@OrangeDog Quale sistema operativo? Ho appena provato questo su Win7 x64 e Windows 10 x64 - è ancora valido. – noonand
Questo non può essere fatto in puro Java. Ma puoi eseguire programmi esterni usando java e ottenere il risultato.
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;
}
}
Prova MemLog. Fa il lavoro perfettamente e rapidamente.
Download tramite uno dei molti mirror, ad es. questo: SoftPedia page for MemLog.
(. MemLog's author has a web site ma questo è giù alcune volte Wayback macchina istantanea here..) Uscita
Esempio:
C:\>memlog
2012/02/01,13:22:02,878956544,-1128333312,2136678400,2138578944,-17809408,2147352576
878956544
essendo la memoria libera
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
Forse è meglio cambiare la stringa in solo "Memory". systeminfo | findstr "Memoria". Questo ti restituirà solo cinque voci, tutte collegate alla memoria – noonand
Bit vecchio ma Volevo sapere simile. Semplicemente aggiungendo la soluzione mi sono imbattuto in quanto IMO la migliore risposta è venuto da Everardo w/Memoria fisica
wmic OS get FreePhysicalMemory /Value
Questo mi ha portato a guardare più in profondità wmic ... Tenete a mente Memoria fisica disponibile gratuitamente non il tipo da guardare.
wmic OS get FreePhysicalMemory,FreeVirtualMemory,FreeSpaceInPagingFiles /VALUE
Ciò restituisce qualcosa di simile ...
FreePhysicalMemory=2083440
FreeSpaceInPagingFiles=3636128
FreeVirtualMemory=842124
Ecco un puro Java
soluzione di realtà:
public static long getFreePhysicalMemory()
{
com.sun.management.OperatingSystemMXBean bean =
(com.sun.management.OperatingSystemMXBean)
java.lang.management.ManagementFactory.getOperatingSystemMXBean();
return bean.getFreePhysicalMemorySize();
}
Nota: questa è specifica della piattaforma e potrebbe non essere disponibile su tutte le piattaforme hardware/software. – Nick
@Nick: Ma generalmente funziona su 'Windows' quindi è già un buon inizio – BullyWiiPlaza
sì, sei corretto, mi dispiace, avrei dovuto farlo notare perché la domanda era specifica per Windows. – Nick
- 1. Come modificare la dimensione della RAM dell'emulatore Android dalla riga di comando?
- 2. Come riprodurre file audio su Windows dalla riga di comando?
- 3. Python: la funzione dalla riga di comando
- 4. Desktop virtuale di Windows 10 dalla riga di comando
- 5. Come compilare l'APK dalla riga di comando?
- 6. Input dalla riga di comando
- 7. Resharpening dalla riga di comando
- 8. Aggiornamento dipendenze compositore dalla riga di comando
- 9. Come usare jarjar dalla riga di comando?
- 10. Come chiudere Rserve dalla riga di comando
- 11. Come generare Javadoc dalla riga di comando
- 12. Come aggiornare xcode dalla riga di comando
- 13. Trasforma file web.config dalla riga di comando
- 14. Come eseguire TestNG dalla riga di comando
- 15. Come si commenta la riga di comando di Windows?
- 16. L'estensione PHP PDO non disponibile è la riga di comando
- 17. Avvia ColdFusion dalla riga di comando
- 18. IIS express dalla riga di comando
- 19. Impossibile eseguire git dalla riga di comando
- 20. Come avviare la sessione gnome-wayland dalla riga di comando?
- 21. Come sincronizzare la directory FTP dalla riga di comando?
- 22. come recuperare le informazioni dalla riga eliminata
- 23. Eseguire Garbage Collector dalla riga di comando?
- 24. Scarica la versione di NuGet.exe dalla riga di comando
- 25. Utilizzo di sendmail dalla riga di comando
- 26. Come utilizzare la riga di comando svn su windows xp?
- 27. Come posso aprire un file per la modifica dalla riga di comando sotto Windows?
- 28. Aggiungi interruzione di riga a git commit -m dalla riga di comando su Windows
- 29. Ottieni la versione di TCL dalla riga di comando?
- 30. Esegui la modalità di debug dalla riga di comando
Il titolo questione è un po 'diverso dal testo della domanda. Preferiresti recuperarlo in java? – diggingforfire
@diggingforfire Se possibile, i suggerimenti finora non sono molto validi – Mike
La domanda "Come recuperare la RAM disponibile dalla riga di comando di Windows" è già stata risolta. Dovresti essere più chiaro, se la tua domanda doveva essere "Come recuperare la RAM disponibile da Windows in java", quindi il titolo è fuorviante. Ma anche la risposta è già stata data. Puoi semplicemente analizzare l'output dal comando 'systeminfo'. – diggingforfire