标签: cpu-usage

编写代码以使CPU使用率显示正弦波

用您喜欢的语言编写代码,让Windows任务管理器代表CPU使用历史中的正弦波.

这是来自微软中国的技术访谈测验.我认为这是一个很好的问题.特别值得了解候选人如何理解并找出解决方案.

编辑:如果可能涉及多核(cpu)案例,这是一个好点.

windows trigonometry cpu-usage

25
推荐指数
3
解决办法
3369
查看次数

CPU密集计算示例?

我需要一些易于实现的单CPU和内存密集型计算,我可以在java中为测试线程调度程序编写.

它们应该耗费一些时间,但更重要的是消耗资源.

有任何想法吗?

java multithreading cpu-usage

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

简单的TextView.setText导致40%的CPU使用率

运行我的应用程序会导致我的手机上CPU使用率降低约40%:

final String position = String.format("%02d:%02d:%02d", time.getHours(), time.getMinutes(),
                time.getSeconds());
getActivity().runOnUiThread(new Runnable() {
    @Override
    public void run() {
         c.mTxtPosition.setText(position);
         ...
Run Code Online (Sandbox Code Playgroud)

通过注释掉setText方法,CPU使用率下降到~4%的预期水平.该方法每秒调用一次并刷新ImageViews,CustomViews ...而不会导致相同的负载过量.除了CPU使用率之外,dalvik通过调用setText()不断报告大约10-1000个对象的垃圾收集.

创建这样的跟踪文件:

Debug.startMethodTracing("setText");
c.mTxtPosition.setText(position);
Debug.stopMethodTracing();
Run Code Online (Sandbox Code Playgroud)

traceview按以下各自的CPU%列出以下方法作为前5名:

  • ViewParent.invalidateChildInParent(16%)
  • View.requestLayout(11%)
  • ViewGroup.invalidateChild(9%)
  • TextView.setText(7%)
  • 顶层(6%)

有人对此有解释吗?

android cpu-usage

25
推荐指数
1
解决办法
5755
查看次数

java.io.FileInputStream.readBytes(本机方法)的无限100%CPU使用率

我现在正在调试一个程序,每个外部进程有两个线程,这两个线程继续使用while ((i = in.read(buf, 0, buf.length)) >= 0)循环读取Process.getErrorStream()和Process.getInputStream().

有时,当外部进程因JVM崩溃而崩溃时(请参阅这些hs_err_pid.log文件),那些读取该外部进程的stdout/stderr的线程开始消耗100%的CPU并且永远不会退出.循环体没有被执行(我在那里添加了一个日志语句),所以无限循环似乎在本机方法中java.io.FileInputStream.readBytes.

我在Windows 7 64位(jdk1.6.0_30 64位,jdk1.7.0_03 64位)和Linux 2.6.18(jdk1.6.0_21 32位)上重现了这一点.有问题的代码在这里,就像这样使用.请参阅这些链接以获取完整代码 - 以下是有趣的内容:

private final byte[]              buf = new byte[256];
private final InputStream         in;
...    

int i;
while ((i = this.in.read(this.buf, 0, this.buf.length)) >= 0) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪看起来像

"PIT Stream Monitor" daemon prio=6 tid=0x0000000008869800 nid=0x1f70 runnable [0x000000000d7ff000]
   java.lang.Thread.State: RUNNABLE
    at java.io.FileInputStream.readBytes(Native Method)
    at java.io.FileInputStream.read(FileInputStream.java:220)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
    - locked …
Run Code Online (Sandbox Code Playgroud)

java jvm cpu-usage infinite-loop

24
推荐指数
1
解决办法
5121
查看次数

限制Linux中用户可用的内存和CPU

我有点担心我可以在共享机器中使用的资源量.有没有办法测试管理员是否有我可以使用的资源量限制?如果是,为了提出更完整的问题,我该如何设置这样的限制?

谢谢.

linux memory-management pam cpu-usage

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

Redis在多核CPU上的性能

我正在环顾redis,为我提供一个中间缓存存储,其中包含很多围绕集合操作的计算,例如intersection和union.

我查看了redis网站,发现redis不是为多核CPU设计的.我的问题是,为什么会这样?

此外,如果是,我们如何在多核CPU上使用redis 100%利用CPU资源.

cpu cpu-usage redis jedis

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

将Docker容器限制为单个cpu核心

我正在尝试构建一个在一致条件下运行代码片段的系统,并且我认为可行的一种方法是在具有相同布局的docker容器中运行各种程序,保留相同数量的内存等.但是,我似乎无法弄清楚如何保持CPU使用率一致.

我能找到的最接近的东西是"cpu shares",如果我理解文档,就会限制cpu使用与系统上运行的其他容器/其他进程有关,以及系统上可用的内容.它们似乎无法将容器限制为绝对的cpu使用量.

理想情况下,我想设置仅限于使用单个cpu核心的docker容器.这是可能吗?

cpu-usage docker

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

将Docker容器CPU使用率作为百分比获取

Docker提供了一个交互式stats命令,docker stats [cid]它提供了有关CPU使用情况的最新信息,如下所示:

CONTAINER      CPU %          MEM USAGE/LIMIT       MEM %       NET I/O
36e8a65d       0.03%          4.086 MiB/7.798 GiB   0.05%       281.3 MiB/288.3 MiB
Run Code Online (Sandbox Code Playgroud)

我试图以可消化的格式将CPU使用率作为百分比来进行一些分析.

我已经看到/ sys/fs中的统计信息似乎提供了与Docker Remote API类似的值,它给了我这个JSON blob:

{
    "cpu_usage": {
        "usage_in_usermode": 345230000000, 
        "total_usage": 430576697133, 
        "percpu_usage": [
            112999686856, 
            106377031910, 
            113291361597, 
            97908616770
        ], 
        "usage_in_kernelmode": 80670000000
    }, 
    "system_cpu_usage": 440576670000000, 
    "throttling_data": {
        "throttled_time": 0, 
        "periods": 0, 
        "throttled_periods": 0
    }
}
Run Code Online (Sandbox Code Playgroud)

但我不确定如何从中获得精确的CPU使用率百分比.

有任何想法吗?

containers cpu-usage lxc docker

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

在Visual Studio中调试时启用内存使用中的实时图形

不知何故,我从Visual Studio诊断工具中丢失了实时图表.下面是我当前的调试屏幕,显示我看不到内存和CPU使用情况的实时图表:

在此输入图像描述

在此输入图像描述

在哪里我正在寻找这个:

在此输入图像描述

我尝试在以下地方进行在线探索:

  1. Debug> Profiler> Performance Explorer
  2. 工具>选项>调试
  3. 工具>选项> IntelliTrace

有谁知道如何启用内存和CPU使用情况实时图表?

cpu-usage visual-studio visual-studio-debugging debug-diagnostic-tool

22
推荐指数
4
解决办法
6158
查看次数

AWS EC2高CPU警报响起

我有一个运行Windows 2008 R2的微EC2实例.我最近收到了很多高CPU警报,当我登录AWS管理控制台时,我发现我的CPU几乎与100%挂钩.但是,如果我登录到实例并启动任务管理器,我的CPU看起来几乎是空闲的.我已经离开任务管理器一段时间,并使用此屏幕截图显示AWS报告与我的实例看起来正在做什么之间的差异.建议?

CPU使用率图 (https://s3.amazonaws.com/caskerdbbucket/public/cpu.png)

PS:任务管理器的更新速度设置为"低"

amazon-ec2 cpu-usage amazon-web-services

21
推荐指数
1
解决办法
6919
查看次数