How to get Ram size and size of Hard disk using Java?
Asked Answered
P

5

23

How to get the Ram size and Hard disk size of the PC using Java? And Is it possible to get the currently logged user name on PC through java?

Polystyrene answered 1/4, 2011 at 10:54 Comment(1)
Related : #26052Pocky
S
29

Disk size:

long diskSize = new File("/").getTotalSpace();

User name:

String userName = System.getProperty("user.name");

I'm not aware of a reliable way to determine total system memory in Java. On a Unix system you could parse /proc/meminfo. You can of course find the maximum memory available to the JVM:

long maxMemory = Runtime.getRuntime().maxMemory();

Edit: for completeness (thanks Suresh S), here's a way to get total memory with the Oracle JVM only:

long memorySize = ((com.sun.management.OperatingSystemMXBean) ManagementFactory
        .getOperatingSystemMXBean()).getTotalPhysicalMemorySize();
Stanwin answered 1/4, 2011 at 11:0 Comment(3)
I find very useful for auditing purposes (i.e. logging who did what e.g. I pass it into RMI calls), but its not very secure.Blackthorn
"Oracle JVM only" is not correct, as of JDK 1.8 this is an jdk.Exported type, see docs.oracle.com/javase/8/docs/jdk/api/javac/tree/jdk/…Phebe
The disk size refers to the drive size not, the physical disk.Berlinda
L
7

For Ram Size , if you are using java 1.5

java.lang.management package

com.sun.management.OperatingSystemMXBean mxbean = (com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
System.out.println(mxbean.getTotalPhysicalMemorySize() + " Bytes "); 
Loudhailer answered 1/4, 2011 at 11:7 Comment(1)
+1 didn't know this, although it's worth noting that it's specific to the Oracle JVM.Stanwin
A
5
import java.lang.management.*;
import java.io.*;

class max
{
    public static void main(String... a)
    {
        long diskSize = new File("/").getTotalSpace();
        String userName = System.getProperty("user.name");
        long maxMemory = Runtime.getRuntime().maxMemory();
        long memorySize = ((com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean()).getTotalPhysicalMemorySize();
        System.out.println("Size of C:="+diskSize+" Bytes");
        System.out.println("User Name="+userName);

        System.out.println("RAM Size="+memorySize+" Bytes");
   }
}
Adminicle answered 9/7, 2013 at 4:18 Comment(0)
S
3

Have a look at this topic, which goes into detail of how to get OS information such as this.

Scarberry answered 1/4, 2011 at 11:1 Comment(0)
L
1

For Ram capacity: //this step get ram capacity

long ram= ((com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean()).getTotalPhysicalMemorySize();

            long sizekb = ram /1000;
    long sizemb = sizekb / 1000;
    long sizegb = sizemb / 1000 ;
    System.out.println("System Ram ="+sizegb+"gb");
Lilililia answered 21/9, 2021 at 16:38 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.