标签: cpu-usage

如何限制while循环中的CPU使用率

你如何限制while循环的CPU?

在这种情况下,while循环内部的代码:

Private Sub wait(ByVal time)
        Dim sw As New Stopwatch
        sw.Start()
        Do While sw.ElapsedMilliseconds < time And StillOpen = True
            Application.DoEvents()
        Loop
        sw.Stop()
    End Sub
Run Code Online (Sandbox Code Playgroud)

但现在,这是问题所在.这个循环允许while循环每秒运行一次,每秒一次,并且waitsub正在导致这个延迟,正如它应该的那样.

如何限制占用的CPU?出于某种原因,我的任务经理表示它需要50个CPU来运行这个简单的任务,但它应该不会超过1或2.虽然经理说它占用了那么多的CPU,但我的计算机速度并没有受到影响所有这些都是奇怪的,因为它是一台已有两年历史的笔记本电脑.

我不希望任何用户对此感到恐惧,但是知道这些天人们是怎样的......

无论如何,语言是vb.net.有人可以帮帮我吗?

谢谢!

编辑:澄清一下,该代码不在while循环本身内,但调用子程序是,即 wait(1000)

vb.net limit cpu-usage while-loop

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

使用100%cpu的相对简单的Python脚本

我不会提供代码,因为它太长了.python脚本涉及执行在while循环中运行的大量命令.

基本结构

while True:
    The meat goes here
    with the odd if:
        and stuff
Run Code Online (Sandbox Code Playgroud)

现在我已经完成了它,我注意到在运行它时,它使用100%CPU,没有例外.我是初学者,并不知道将这个问题归结为什么.我想也许是因为脚本无限期地运行(直到我手动退出),如果它重复循环一次,可能只会对CPU造成负担.我在while的底部添加了time.sleep(1)来查看是否存在没有改进的问题.

有人有主意吗?这是一个相当长的事件序列,但它们严重依赖于if语句,而这种语句并不是经常触发的.100%的CPU使用率发生在特定的if语句被触发之前,所以我真的很茫然.

编辑:忘了包含它在unix环境中运行(Debian)

python unix cpu-usage

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

MPI应用程序中的CPU使用百分比

我用了MPICH2.当我使用mpiexec启动我的应用程序时,它们在远程主机(Win7)上运行时具有25%的CPU使用率.如果这可以提高我的应用程序性能,我想增加百分比.我希望我的远程计算机专用于我的计算.我能怎么做?

谢谢

performance mpi cpu-usage windows-7 mpich

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

使用ksh和正常运行时间获得最后五分钟的平均负载

为了平均CPU负载,我uptimeksh脚本中使用:

uptime | awk '{print $11}' | sed '$s/.$//' | read CPU
Run Code Online (Sandbox Code Playgroud)

然后我在那里使用变量CPU.

$11部分是为了隔离最后五分钟的部分.但是,我今天注意到这不起作用.具体来说,最后五分钟部分返回$9.该函数返回的参数较少.这是因为机器最近重新启动,因此uptime显示自重启后的分钟而不是几天和几分钟.

有没有办法让我能够始终只获得正常运行时间的最后五分钟?

unix ksh uptime cpu-usage

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

计算CPU使用率:代码改进

我正在计算几台服务器上的CPU使用率.但计算非常非常缓慢.

到目前为止,这是我的代码:

While it <= 5
    Dim myOptions As New ConnectionOptions
    myOptions.Username = _myParameters("user")
    myOptions.Password = _myParameters("password")

    Dim myRoot As String = "\\" & _myParameters("server") & "\root\cimv2"
    Dim myScope As New ManagementScope(myRoot, myOptions)

    Dim myQuery As New ObjectQuery(String.Format("select * from Win32_Processor"))

    Dim mySearcher As New ManagementObjectSearcher(myScope, myQuery)
    Dim myCollection As ManagementObjectCollection = mySearcher.Get

    For Each OS As ManagementObject In myCollection
        values.Add(OS("LoadPercentage"))
    Next

    Threading.Thread.Sleep(100) //Set some time between two calculations
    itCounter += 1
End While
Run Code Online (Sandbox Code Playgroud)

代码每次都挂起

For Each OS As ManagementObject …
Run Code Online (Sandbox Code Playgroud)

.net vb.net performance performancecounter cpu-usage

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

了解什么用完了“不错”的CPU

我正在Google Compute Engine上运行小型Cassandra集群。从我们的CPU图表(收集到的报告)中,我注意到在NICE中花费了大量的处理器时间。我如何找出消耗此过程的过程?我已经尝试过从头开始并盯着它看了一会儿,但是NICE cpu的使用有点棘手(大多数情况下,NICE为0%;只有偶尔会达到30-40%) “坐等”不是很有效。

cpu-usage nice google-compute-engine

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

Java套接字占用太多的CPU和虚拟内存

我已经开发了一个Java套接字,但是它占用了太多的CPU和虚拟内存。您能告诉我代码中的问题是什么吗?

private void listen() {
    try {
        serverSocket = new ServerSocket(port);

        System.out.println("Server socket listening on port: " + port);
        System.out.println("Waiting for connections...");

        while(true) {
            // accept the connection
            Socket socket = serverSocket.accept();
            socket.setSoTimeout(30000);
            System.out.println("Got connection");
            // start processing the connection
            Thread connectionManager = new Thread(new Elevator(socket, socket.getInputStream()));//new Thread(new ConnectionManager(socket, odometer));
            connectionManager.start();
        }
    } catch (IOException exc) {
        System.out.println(Listener.class.getName() + ": " + exc.getMessage());
    }
}
Run Code Online (Sandbox Code Playgroud)

在电梯班我有这个:

public class Elevator implements Runnable 
{

private String imei;
private Socket socket;
private InputStream …
Run Code Online (Sandbox Code Playgroud)

java sockets multithreading memory-management cpu-usage

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

什么是Android CPU使用情况下的"时钟刻度"?

我目前正在开发一个Android项目.我想获得每个进程的总CPU使用率.所以我使用的是"/ proc/pid/stat"的内容.我提到这个答案来获取统计数据.现在我得到了所有的utime,stime等,问题在于"Hertz"的价值.答案是它是每秒钟的滴答数.即使经过大量浏览,我也无法获得时钟刻度的确切含义.什么是时钟滴答,它是处理器的频率?答案说我们可以使用时钟滴答

的sysconf(_SC_CLK_TCK)

我不知道如何在Android中使用这个linux命令来获取时钟滴答声.我用谷歌搜索它,我找不到它.请帮我解决这个问题.如果有一个这个时钟滴答的例子会更有帮助.

linux cpu android cpu-usage

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

计算Android中进程的CPU使用率

我正在尝试按以下方式计算Android中进程的CPU使用率,但是由于产生的输出,我不确定它是否正确。

要将吉菲转换为秒:吉菲/赫兹

第一步:使用/proc/uptime文件的第一个参数获取正常运行时间。

第二步:从中获取每秒的时钟滴答数/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

第三步:从中获取过程(utime(14) +stime(15))参数花费的总时间/proc/[pid]/stat

第四步:/proc/[pid]/stat Linux 2.6之后的时钟滴答(除以sysconf(_SC_CLK_TCK)除)表示的值中获取进程的starttime(22)。

第五步:获取自进程启动(uptime - (starttime / hertz)以来的总运行时间(因为正常运行时间以秒为单位,而启动时间以时钟滴答为单位)。

第六步:获取CPU使用率百分比((totaltime / hertz) / elapsedTime) * 100

计算后的输出类似于5.702244483458246E-6,大约等于〜0.000005702244483

编辑

输出量

步骤1:226.06 1211.19

步骤2:1000000

步骤3:9347(example.com)S 3573 3573 0 0 -1 1077952832 8971 0 1 0 38 32 0 0 20 0 25 0 13137 983830528 14330 4294967295 1 1 0 0 0 0 4612 0 38136 4294967295 0 0 …

linux android cpu-usage

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

如何在perfiew的调用树中对线程堆栈进行分组

Perfiew是一个非常酷的工具.但是我使用它的调用树视图时遇到问题,因为它一次显示信息线程 - 除非你有一个非常繁忙的线程,否则它真的会失败.见下图.

在此输入图像描述

相反,我想通过低于线程ID的东西看到最昂贵的堆栈,就像顶级方法一样(如ANTS和大多数其他性能分析器那样).这可能吗?如果是这样,怎么样?

见下图

在此输入图像描述

.net performance profiling cpu-usage perfview

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