bharath
bharath

Reputation: 14463

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

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?

Upvotes: 23

Views: 35670

Answers (5)

Arun Kumar
Arun Kumar

Reputation: 11

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");

Upvotes: 1

Atin Agrawal
Atin Agrawal

Reputation: 188

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");
   }
}

Upvotes: 5

WhiteFang34
WhiteFang34

Reputation: 72079

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();

Upvotes: 29

Dead Programmer
Dead Programmer

Reputation: 12585

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 "); 

Upvotes: 7

Andreas Johansson
Andreas Johansson

Reputation: 1145

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

Upvotes: 3

Related Questions