文档章节

Java查看系统磁盘、内存、版本等

YuanyuanL
 YuanyuanL
发布于 2016/12/08 14:09
字数 433
阅读 40
收藏 1

java要想获取操作系统的相关信息可以通过: 1.java固有类获取(或者其他扩展工具类如 org.hyperic.sigar); 2.通过java的Runtime执行系统命令来获取。 下面是通过java固有类来获取的方法。注意其中带有com.sun的类已不再被维护使用有风险。

import java.lang.management.ManagementFactory;
import com.sun.management.OperatingSystemMXBean;

public class Test
{
    public static void main(String[] args)
    {
                Locale locale = Locale.getDefault();
		System.out.println(locale.getLanguage());//中文zh,英文en

		File[] roots = File.listRoots();
		for(File file : roots)
		{
			System.out.println(file.getAbsolutePath()+": "+file.getFreeSpace()/(1024*1024*1024)+" GB");
		}
		
		File efile= new File("e:/");
		System.out.println("E盘大小:" + + (efile.getFreeSpace()/(1024*1024*1024))+"GB");
		
		OperatingSystemMXBean osmb = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
		System.out.println("系统物理内存总计:" + osmb.getTotalPhysicalMemorySize() /(1024*1024*1024) + "GB");
		System.out.println("系统物理可用内存总计:" + osmb.getFreePhysicalMemorySize() / (1024*1024*1024) + "GB");
		
                System.out.println("os name: "+System.getProperties().getProperty("os.name"));
		System.getProperties().list(System.out);
    }
}

输出结果:

en
C:\: 14 GB
E:\: 69 GB
F:\: 97 GB
G:\: 0 GB
E盘大小:69GB
系统物理内存总计:15GB
系统物理可用内存总计:7GB
os name: Windows 8.1
-- listing properties --
java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=E:\java\64\jdk1.8.0_51\jre\bin
java.vm.version=25.51-b03
java.vm.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
path.separator=;
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg=sun.io
user.script=
user.country=CN
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=
java.vm.specification.name=Java Virtual Machine Specification
user.dir=E:\EclipseWorkspace\hgdrm
java.runtime.version=1.8.0_51-b16
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=E:\java\64\jdk1.8.0_51\jre\lib\endorsed
os.arch=amd64
java.io.tmpdir=C:\Users\highgoer\AppData\Local\Temp\
line.separator=
java.vm.specification.vendor=Oracle Corporation
user.variant=
os.name=Windows 8.1
sun.jnu.encoding=GBK
java.library.path=E:\java\64\jdk1.8.0_51\bin;C:\WINDOWS...
java.specification.name=Java Platform API Specification
java.class.version=52.0
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
os.version=6.3
user.home=C:\Users\highgoer
user.timezone=Asia/Shanghai
java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=UTF-8
java.specification.version=1.8
user.name=highgoer
java.class.path=E:\EclipseWorkspace\hgdrm\target\clas...
java.vm.specification.version=1.8
sun.arch.data.model=64
java.home=E:\java\64\jdk1.8.0_51\jre
sun.java.command=com.highgo.hgdrm.agent.server.NettySe...
java.specification.vendor=Oracle Corporation
user.language=zh
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode
java.version=1.8.0_51
java.ext.dirs=E:\java\64\jdk1.8.0_51\jre\lib\ext;C:...
sun.boot.class.path=E:\java\64\jdk1.8.0_51\jre\lib\resour...
java.vendor=Oracle Corporation
file.separator=\
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.desktop=windows
sun.cpu.isalist=amd64

© 著作权归作者所有

共有 人打赏支持
YuanyuanL

YuanyuanL

粉丝 152
博文 322
码字总数 188376
作品 0
济南
部门经理
私信 提问
用“逐步排除”的方法定位Java服务线上“系统性”故障

一、摘要 由于硬件问题、系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降、部分(或所有)接口超时或卡死等。其中部分故障隐藏颇...

LostTimes
2015/11/19
0
0
JVM性能调优实践——JVM篇

前言 在遇到实际性能问题时,除了关注系统性能指标。还要结合应用程序的系统的日志、堆栈信息、GClog、threaddump等数据进行问题分析和定位。关于性能指标分析可以参考前一篇JVM性能调优实践...

lijingyao8206
05/24
0
0
Azure虚拟机Centos6.5安装oracle jdk7+mysql5.6

1,先在微软云管理平台开虚拟机,我开的A5配置(2核,14G内存)。 2,开启完毕后,登录到系统。 3,使用wget下载oracle jdk,参考www.oracle.com,我下载的rpm包64位。因azure虚拟机下载jdk...

longfirst
2015/05/25
0
0
记几次JAVA系统故障问题定位过程

把自己以前碰到的case汇总列下,作为对自己过去的一部分工作总结。 问题定位一般步骤 具备常见的理论知识,不一定要全记住细节。但是需要知道问题的关联性,然后根据某些关键字搜索或者查阅资...

geecoodeer
2014/01/27
0
5
JVM内存管理机制&线上问题排查

本文主要基于“深入java虚拟机”这本书总结JVM的内存管理机制,并总结了常见的线上问题分析思路。文章最后面是我对线上故障思考的ppt总结。 Java内存区域 虚拟机运行时数据区如下图所示: 方...

ykzhu
06/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

磁饱和

定义 磁饱和是磁性材料的一种物理特性,指的是导磁材料由于物理结构的限制,所通过的磁通量无法无限增大,从而保持在一定数量的状态。 举例说明 假定有一个电磁铁,通上一个单位电流的时候,...

colinux
31分钟前
1
0
Apache日志不记录访问静态文件,访问日志切割,静态元素过期时间设置

Apache配置不记录访问静态文件的日志 网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录 vhost原始配置 <VirtualHost *:80> ServerAdmin test@163.com DocumentRoo...

野雪球
今天
3
0
聊聊storm的ICommitterTridentSpout

序 本文主要研究一下storm的ICommitterTridentSpout ICommitterTridentSpout storm-core-1.2.2-sources.jar!/org/apache/storm/trident/spout/ICommitterTridentSpout.java public interface......

go4it
今天
4
0
Ubuntu常用操作

查看端口号 netstat -anp |grep 端口号 查看已使用端口情况 netstat -nultp(此处不用加端口号) netstat -anp |grep 82查看82端口的使用情况 查找被占用的端口: netstat -tln netstat -tl...

hc321
昨天
3
0
网站cdn的静态资源突然访问变的缓慢,问题排查流程

1.首先我查看了一下是否自己的网络问题,通过对比其他资源的访问速度和下载速度,确认不是 2.通过ping 和 tracert 判断cdn域名能否正常访问,(最后回想感觉这一步可以省略,因为每次最终能访...

小海bug
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部