标签: cpu-usage

计算CPU使用率

我们的业务模式需要根据CPU小时/使用情况向用户收费.

最初我在考虑简单地使用StopWatch然后将经过的时间用作度量单位.

但我用这种方法看到的问题是,在5000个用户点击服务器的那一天,同一段代码的经过时间将高于仅有50个用户点击服务器的夜间.

其他选项是根据对传入的数据用户执行的迭代向用户收费.此方法也存在一些问题.

  • 某些函数不需要对数据进行任何迭代.
  • CPU使用率x + y低于x + y * z.

在C#/ .Net中计算CPU使用率信息的好方法是什么,这样对于同一操作的所有用户,无论服务器的负载如何,它都保持不变?

可能是实际装配级别指令的总量?有没有办法在C#中获取该信息?

其他什么接近,建议你可以分享?

非常感谢您对此进行调查.

.net c# algorithm cpu-usage

5
推荐指数
1
解决办法
667
查看次数

Java程序(Tomcat)继续吃内存(RES在顶部)

我在4-cpu和32GB内存64位机器上运行Tomcat(操作系统是CentOS 6.3).我启动Tomcat的Java选项是-server -Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m

开始时,RES仅使用顶部810MB,并且不断增加.在此期间,我运行jmap -J-d64 -histo pID检查Java内存堆,我认为gc工作正常,因为堆峰值为510MB,gc后约为200MB.但是当顶部的RES达到1.1g时,CPU使用率将超过100%并且Tomcat将挂起.

使用jstack pid看转储当CPU使用率是100%,一个名为"虚拟线"线吃掉几乎100%的CPU.我用Google搜索,它是JVM gc线程.所以我的问题是:当gc工作正常时,为什么res会继续增长?我怎么能解决这个问题?谢谢.

java memory-leaks cpu-usage

5
推荐指数
1
解决办法
2431
查看次数

cpulimit无法正常工作

我正在使用Debian Wheezy和cpulimit 1.7,我想限制使用的进程的cpu使用时间cpulimit

例如cpulimit -p 1000 -l 40,当我执行时,将Process 1000 detected显示该消息。在那之后,什么都没有发生,我必须按Strg + C停止它。

有人也遇到过这个问题或对挂断有解决方案吗?

linux debian cpu-usage

5
推荐指数
1
解决办法
1462
查看次数

使用Haskell和流融合不断增加CPU消耗

这是一个简短的Haskell程序,可产生440 Hz的声音.它使用pulseaudio作为音频后端.

import GHC.Float
import Control.Arrow
import Sound.Pulse.Simple
import qualified Data.List.Stream as S
import Data.List

type Time = Double
type Frequency = Double
type Sample = Double
type CV = Double

chunksize = 441 * 2
sampleRate :: (Fractional a) => a
sampleRate = 44100

integral :: [Double] -> [Double]
integral = scanl1  (\acc x -> acc + x / sampleRate)

chunks :: Int -> [a] -> [[a]]
chunks n = S.takeWhile (not . S.null) . S.unfoldr (Just . S.splitAt …
Run Code Online (Sandbox Code Playgroud)

haskell memory-leaks cpu-usage stream-fusion

5
推荐指数
1
解决办法
177
查看次数

使用高CPU时通知。通过AppleScript还是Automator?

我想自动化,只要进程使用超过50%的CPU,
它就会向我的通知中心发送通知

我正在使用终端通知程序来发送低谷通知,
但是我对创建此自动化的最佳方法有些困惑。

我应该使用Automator.app还是创建自定义AppleScript?如果是,
如何使它始终处于打开状态?

applescript automation automator cpu-usage

5
推荐指数
1
解决办法
1710
查看次数

如何使NodeJ使用更多CPU核心或多线程而不是单线程

互联网说

Node是单线程的,并不会在您的潜在多核计算机中自动使用多个核心.这意味着除非您以不同方式进行设计,否则您的应用程序将无法充分利用托管它的服务器所提供的可用容量.由此

明确的问题?(更新)

简单的问题,没有比较或scalle技巧
- NodeJs可以使用多CPU使用 - 当节点使用单线程时会发生什么?
- 如果我们触发节点多个进程(node1,node2,node3)工作者同一台机器,使用4个服务器核心全部可以使服务器变慢?
- 当节点处理时,使用相同的内核争夺CPU资源会发生什么?

我读了这个然后灵感来问你们.. :)

multithreading cpu-usage node.js

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

为Docker容器设置CPU的绝对限制

我正在尝试设置Docker容器CPU使用率的绝对限制.CPU共享概念(docker run -c <shares>)是相对的,但我想说的是"让这个容器每隔100毫秒使用最多20毫秒的CPU时间.我能找到的最接近的答案是使用和邮件列表中提示."一个人在使用时使用这些设置?cpu.cfs_quota_uscpu.cfs_period_usdocker run

我对LXC支持的Docker(例如pre0.9)或更高版本没有严格的要求,只需要查看正在使用的这些设置的示例 - 任何指向相关文档或有用博客的链接也非常受欢迎.我目前正在使用Ubuntu 12.04,在/sys/fs/cgroup/cpu/docker我看到这些选项:

$ ls /sys/fs/cgroup/cpu/docker
cgroup.clone_children  cpu.cfs_quota_us   cpu.stat
cgroup.event_control   cpu.rt_period_us   notify_on_release
cgroup.procs           cpu.rt_runtime_us  tasks
cpu.cfs_period_us      cpu.shares
Run Code Online (Sandbox Code Playgroud)

scheduler cpu-usage lxc cgroups docker

5
推荐指数
1
解决办法
8974
查看次数

写入NSOutputStream会导致高CPU使用率

在检测我的应用程序时,我发现在将数据写入输出流时CPU使用率跃升至90%.具体来说,当网络速度非常高时.当我用Timer仪器配置它时,发现大多数cpu用于NSStream委托调用.请帮助优化编写技术以降低CPU使用率.

- (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode
{
switch (eventCode) {

    case NSStreamEventOpenCompleted: {
        _isConnected = YES;
        if([self.delegate respondsToSelector:@selector(isFTPConnectionFoundForUpload:)])
            [self.delegate performSelector:@selector(isFTPConnectionFoundForUpload:) withObject:_isConnected?@"YES":@"NO"];
    } break;

    case NSStreamEventHasSpaceAvailable: {

            bytesWritten = [self.producerStream write:&self.buffer[0] maxLength:512];
            if (bytesWritten == -1) {
                [self stopSendWithStatus:@"Network write error"];
            }

    } break;

    case NSStreamEventErrorOccurred: {
        NSLog(@"producer stream error %@", [aStream streamError]);
        [self stopSendWithStatus:@"Stream open error"];
    } break;
    case NSStreamEventEndEncountered: {

    } break;
    default: {

    } break;
}
Run Code Online (Sandbox Code Playgroud)

}

profiling cpu-usage nsstream nsoutputstream ios

5
推荐指数
0
解决办法
120
查看次数

为什么我的R在运行诸如step()之类的功能时会使用所有CPU内核?

我的R通常显示在“顶部”使用了100%以上的CPU,这是否意味着它使用了1个以上的内核?据我了解,除非使用某些并行计算程序包,否则R默认情况下使用1个CPU内核。但是我只是使用step()函数。它是Dell T410 + Ubuntu Server 14.04 + R 3.3.2。

是R 3.3.2还是Dell Server或Ubuntu Server 14.04有所帮助?还是仅仅是“顶部”的错误?

top - 17:42:39 up 11:09,  2 users,  load average: 16.00, 16.01, 15.98
Tasks: 282 total,   3 running, 279 sleeping,   0 stopped,   0 zombie
%Cpu(s): 14.9 us, 85.1 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:  24668964 total, 23472468 used,  1196496 free,   229884 buffers
KiB Swap: 25145340 total,       60 used, 25145280 free.  1117020 cached Mem

  PID USER      PR  NI    VIRT …
Run Code Online (Sandbox Code Playgroud)

cpu r cpu-usage cpu-cores ubuntu-server

5
推荐指数
1
解决办法
264
查看次数

Docker无法使用Macbook的所有CPU内核

我目前正在将Macbook Pro与i7搭配使用,它具有8个核心。但是,我不能将CPU内核设置为1个以上。

docker run --cpus=2 "my-image"
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

docker: Error response from daemon: Range of CPUs is from 0.01 to 1.00, as there are only 1 CPUs available.
Run Code Online (Sandbox Code Playgroud)

我想念什么?

macos cpu-usage cpu-cores docker

5
推荐指数
1
解决办法
1582
查看次数