标签: cpu

如何在Java中监视计算机的CPU,内存和磁盘使用情况?

我想用Java监视以下系统信息:

  • 当前CPU使用率**(百分比)
  • 可用内存*(免费/总计)
  • 可用磁盘空间(免费/总计)

    *请注意,我的意思是整个系统可用的整体内存,而不仅仅是JVM.

我正在寻找一种不依赖于我自己的代码调用外部程序或使用JNI的跨平台解决方案(Linux,Mac和Windows).虽然这些是可行的选择,但如果有人已经拥有更好的解决方案,我宁愿不自己维护特定于操作系统的代码.

如果有一个免费的库可以以可靠的跨平台方式实现这一点,那就太棒了(即使它进行外部调用或使用本机代码本身).

任何建议都非常感谢.

为了澄清,我想获得整个系统的当前CPU使用率,而不仅仅是Java进程.

SIGAR API在一个软件包中提供了我正在寻找的所有功能,因此它是迄今为止我的问题的最佳答案.但是,由于它是根据GPL许可的,我不能将它用于我的原始目的(封闭源,商业产品).Hyperic可能会将SIGAR许可用于商业用途,但我还没有调查过.对于我的GPL项目,我将来肯定会考虑SIGAR.

根据我目前的需求,我倾向于以下方面:

  • 对于CPU使用率,OperatingSystemMXBean.getSystemLoadAverage() / OperatingSystemMXBean.getAvailableProcessors()(每个CPU的平均负载)
  • 对于记忆,OperatingSystemMXBean.getTotalPhysicalMemorySize()OperatingSystemMXBean.getFreePhysicalMemorySize()
  • 对于磁盘空间,File.getTotalSpace()File.getUsableSpace()

限制:

getSystemLoadAverage()和磁盘空间查询方法仅仅是Java的6下可用另外,一些JMX功能可能无法适用于所有平台(即它的报道,getSystemLoadAverage()返回-1在Windows上).

尽管最初是根据GPL许可,它已经改变Apache 2.0中,这通常可以用于封闭源代码,商业产品.

java memory cpu diskspace cross-platform

176
推荐指数
10
解决办法
24万
查看次数

用于CUDA编程的GPU仿真器,无需硬件

问题:是否有Geforce卡的仿真器,可以让我在没有实际硬件的情况下编程和测试CUDA?


信息:

I'm looking to speed up a few simulations of mine in CUDA, but my problem is that I'm not always around my desktop for doing this development. I would like to do some work on my netbook instead, but my netbook doesn't have a GPU. Now as far as I know, you need a CUDA capable GPU to run CUDA. Is there a way to get around this? It would seem like the only way is a GPU …

cpu cuda gpu emulation

106
推荐指数
5
解决办法
7万
查看次数

callstack究竟是如何工作的?

我试图更深入地了解编程语言的低级操作是如何工作的,尤其是它们如何与OS/CPU交互.我可能已经在Stack Overflow上的每个堆栈/堆相关线程中阅读了每个答案,并且它们都很棒.但还有一件事我还没有完全理解.

在伪代码中考虑这个函数,这往往是有效的Rust代码;-)

fn foo() {
    let a = 1;
    let b = 2;
    let c = 3;
    let d = 4;

    // line X

    doSomething(a, b);
    doAnotherThing(c, d);
}
Run Code Online (Sandbox Code Playgroud)

这就是我假设堆栈在X行上的样子:

Stack

a +-------------+
  | 1           | 
b +-------------+     
  | 2           |  
c +-------------+
  | 3           | 
d +-------------+     
  | 4           | 
  +-------------+ 
Run Code Online (Sandbox Code Playgroud)

现在,我读到的关于堆栈如何工作的一切都是它严格遵守LIFO规则(后进先出).就像.NET,Java或任何其他编程语言中的堆栈数据类型一样.

但如果是这样,那么在X行之后会发生什么?显然,接下来我们需要的是使用ab,但这意味着操作系统/ CPU(?)必须弹出dc首先回到ab.但是它会在脚下射击,因为它需要c并且d在下一行.

所以,我想知道幕后究竟发生了什么?

另一个相关问题.考虑我们传递对其他函数的引用,如下所示:

fn foo() {
    let …
Run Code Online (Sandbox Code Playgroud)

cpu assembly callstack calling-convention low-level

99
推荐指数
5
解决办法
2万
查看次数

如何在Java中检查CPU和内存使用情况?

我需要检查java中服务器的CPU和内存使用情况,有谁知道怎么做?

java cpu ram operating-system

94
推荐指数
8
解决办法
24万
查看次数

CPU权限环:为什么不使用环1和2?

有关x86 CPU权限的几个问题:

  • 为什么大多数操作系统都没有使用环1和环2?是仅仅维护代码与其他架构的兼容性,还是有更好的理由?

  • 是否有任何操作系统实际使用这些环?或者他们完全没用?

cpu privileges x86

89
推荐指数
3
解决办法
3万
查看次数

Linux进程状态

在Linux中,当需要从磁盘读取块时,进程状态会发生什么?它被阻止了吗?如果是这样,如何选择执行另一个过程?

linux cpu kernel process states

87
推荐指数
3
解决办法
13万
查看次数

哪个更快:x << 1或x << 10?

我不想优化任何东西,我发誓,我只想出于好奇而问这个问题.我知道,在大多数硬件有位移(例如的组件的命令shl,shr),它是一个命令.但是,你转移了多少比特(纳秒级,或CPU技巧)是否重要?换句话说,在任何CPU上是否更快?

x << 1;
Run Code Online (Sandbox Code Playgroud)

x << 10;
Run Code Online (Sandbox Code Playgroud)

请不要因为这个问题而恨我.:)

c c++ cpu performance low-level

82
推荐指数
8
解决办法
7018
查看次数

什么是"代表; nop;" 在x86汇编中意味着什么?它与"暂停"指令相同吗?

  • 什么rep; nop意思?
  • 它和pause指令一样吗?
  • 它是否与rep nop(没有分号)相同?
  • 这个简单的nop指令有什么区别?
  • 它在AMD和英特尔处理器上的表现是否不同?
  • (奖金)这些说明的官方文件在哪里?

这个问题的动机

另一个问题的评论中进行一些讨论后,我意识到我不知道rep; nop;x86(或x86-64)汇编中的含义.而且我也无法在网上找到一个好的解释.

我知道这rep是一个前缀,意味着"重复下一个指令cx时间"(或至少它是,在旧的16位x86汇编中).根据这一维基百科汇总表,似乎rep只能与使用movs,stos,cmps,lods,scas(但也许是对新的处理器去掉这个限制).因此,我认为rep nop(没有分号)将重复nop操作cx时间.

然而,经过进一步搜索,我更加困惑.它似乎rep; noppause 映射到完全相同的操作码,并且pause有一些不同的行为nop.2005年的一些旧邮件说不同的东西:

  • "尽量不要燃烧太多的力量"
  • "它只相当于'nop',仅使用2字节编码."
  • "这对英特尔来说是神奇的.它就像'nop但是让其他HT兄弟跑了'"
  • "这是暂停英特尔和Athlon的快速填充"

有了这些不同的意见,我无法理解正确的含义.

它正在Linux内核中使用(在i386x86_64上)以及此注释:/* REP …

cpu x86 assembly x86-64 machine-code

80
推荐指数
2
解决办法
2万
查看次数

无时钟电脑芯片怎么了?

几年前,"下一件大事"是无时钟电脑.它背后的想法是没有时钟,处理器运行速度会明显加快.

就在那时,现在是这样,我找不到任何有关它是如何出现的信息,或者这个想法是不是真的...

谁知道?

以供参考:

http://www.cs.columbia.edu/~nowick/technology-review-article-10-01.pdf

cpu asynchronous processor clock

71
推荐指数
2
解决办法
2万
查看次数

用户CPU时间与系统CPU时间?

你能解释一下"用户CPU时间"和"系统CPU时间"吗?我读了很多,但我听不清楚.

cpu

71
推荐指数
4
解决办法
7万
查看次数