标签: cpu-usage

设置java使用一个cpu

我有一个应用程序,它具有一定数量的cpus的许可证,我希望能够在检查完成之前将java运行的cpu的数量设置为1.我正在运行Solaris并且已经查看pbind但是认为如果我启动应用程序然后使用pbind,它会在设置java可以使用的CPU数量之前检查许可证.

有没有人知道在Solaris上使用一定数量的CPU启动应用程序的方法?

java solaris cpu-usage

8
推荐指数
1
解决办法
2192
查看次数

为什么乘法比划分便宜?

我最近写了一个Vector 3类,并将我的normalize()函数提交给了朋友.他说它很好,但是我应该尽可能地乘以倒数,因为在CPU时间里"乘法比划分便宜".

我的问题很简单,那是为什么?

theory performance cpu-usage

8
推荐指数
2
解决办法
3809
查看次数

共享指针和性能

我现在一直在使用共享指针,我的程序中存在性能问题...所以我想知道共享指针是否导致性能下降.如果是这样,那有多难?非常感谢.

我的程序是多线程的,使用std :: tr1 :: shared_ptr

c++ performance memory-management cpu-usage shared-ptr

8
推荐指数
4
解决办法
2891
查看次数

减慢线程的最佳方法?使用睡眠()好吗?

我编写了一个C++库来完成一些非常繁重的CPU工作(所有这些都是数学和计算),如果留给它自己的设备,将很容易消耗100%的所有可用CPU资源(它也是多线程的可用逻辑数量)机器上的核心).

因此,我在主计算循环中有一个回调,使用该库的软件应该调用:

while(true)
{
    //do math here
    callback(percent_complete);
}
Run Code Online (Sandbox Code Playgroud)

在回调中,客户端调用Sleep(x)来减慢线程.

最初,客户端代码是一个固定的Sleep(100)调用,但这会导致糟糕的不可靠性能,因为有些机器比其他机器更快地完成数学运算,但所有机器上的睡眠都是相同的.所以现在客户端检查系统时间,如果超过1秒(= =几次迭代),它将休眠半秒钟.

这是减慢线程的可接受方式吗?我应该使用信号量/互斥量而不是Sleep()来最大化性能吗?每1秒处理工作正在睡觉x毫秒,还是有什么不对的,我没有注意到?

我问的原因是,即使taskman显示该进程占用了大约10%的CPU,机器仍然会严重陷入困境.我已经探讨过硬盘和内存争用无济于事,所以现在我想知道我放慢线程的方式是否导致了这个问题.

谢谢!

c++ performance multithreading sleep cpu-usage

8
推荐指数
2
解决办法
4079
查看次数

第二次从Proc-FS文件读取时使用lseek()是否安全

  1. 是否可以安全使用lseek(fd,0)然后再read(fd,buf)使用/proc/stat文件而不是重新打开它以便下次获取此文件的更新内容?
  2. mmap()打开这个文件后的调用真的如何(见下文)?

我遇到的问题是顶级报告CPU使用率太低(软件中断为10%对比100%).strace表示top不会重新打开此文件,而是lseeks开始并再次读取它.不知何故,下次从这个文件读取的内容与我/proc/stat单独运行cat for file 时的内容不匹配.

另外如果我同时/proc/stat在循环中运行top和cat ,那么top会开始报告正确的CPU使用率.

我发现的另一个区别是top mmap()在打开/proc/stat文件后立即使用call ,而cat不是那样做.我不确定这是否也与我的问题有关(因为filesdes=-1这里):

mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7b37649000
Run Code Online (Sandbox Code Playgroud)

我正在使用带有2.6.32-27服务器映像的Ubuntu 10.04.1桌面版.CPU是Intel Q6600.

linux cpu-usage seek procfs

8
推荐指数
1
解决办法
1423
查看次数

如何获取批处理文件中的当前CPU使用率和可用内存?

我正在创建一个简单的脚本,输出当前登录的用户,当前系统的CPU使用率和可用内存?

我已设法让当前用户登录,但是是否可以获得CPU使用率和内存?

到目前为止这是我的代码.

@echo off

for /f "tokens=3 delims=\" %%i in ("%USERPROFILE%") do (set USER=%%i) 2>&1  
echo "Logged On User: %USER%"  
echo. 

pause
Run Code Online (Sandbox Code Playgroud)

为了获得cpu使用,我尝试了这个命令,但它似乎没有工作.

for /f "skip=1" %p in ('wmic cpu get loadpercentage') do 
echo %p%
Run Code Online (Sandbox Code Playgroud)

ram batch-file cpu-usage

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

Windows 10上的Python多处理

我在Windows 7和Windows 10笔记本电脑上都运行了一些代码:

def project(filename):
    **Do Something Here**


if __name__ == '__main__':
    pool = Pool(processes=4)
    results = [pool.apply_async(project, args=(filename,)) for filename in filenamelist]
    output = [p.get() for p in results]
    print output
Run Code Online (Sandbox Code Playgroud)

两台计算机都是双核/ 4线程,因此它们都应该可以很好地运行4个进程.我遇到的问题是,当我在Windows 10上运行代码时,我会运行4个python进程,但是它们使用0%的cpu并且它们不会输出任何内容,这与Windows 7个数据库不同,它将全部运行4个线程和完美的工作.

如果我不使用多处理,代码在Windows 10笔记本电脑上工作正常,所以问题必须与此相关.使用Python的多处理在Windows 10中不起作用吗?我顺便在两台机器上运行Python 2.7.

[编辑]:Windows 7 pc处理器是i5-650,Windows 10笔记本处理器是i3-2370M

[更新]:我将笔记本电脑还原到Windows 8.1,完全相同的代码按预期运行,这绝对是Windows 10的问题.

[编辑]:我用来生成的filenamelist方法如下,但这在Windows 7上运行正常.

def get_unfinished_files(indir, outdir):
    filenamelist = []
    for filename in os.listdir(indir):
        if filename not in os.listdir(outdir) and filename.endswith('.png'):
            filenamelist.append(filename)
    return filenamelist
Run Code Online (Sandbox Code Playgroud)

python cpu-usage multiprocessing python-multiprocessing windows-10

8
推荐指数
1
解决办法
2543
查看次数

隐藏div停止动画(CSS还是JS)?

考虑任何基于CSS的加载器动画作为参考.通常,当成功执行某些回调函数时,会隐藏div以指示结果已到达.我的问题是,隐藏div实际上是否停止了动画?或者那些仍然继续耗尽CPU周期?

那些非CSS动画呢?

javascript css animation cpu-usage

8
推荐指数
1
解决办法
618
查看次数

如何通过Parallel.ForEach实现最大并行度并利用最大CPU?

有一个C#函数A(arg1, arg2)需要多次调用.为了做到这一点,我正在使用并行编程.

以下面的代码为例:

long totalCalls = 2000000;
int threads = Environment.ProcessorCount;

ParallelOptions options = new ParallelOptions(); 
options.MaxDegreeOfParallelism = threads;

Parallel.ForEach(Enumerable.Range(1, threads), options, range =>
{
    for (int i = 0; i < total / threads; i++)
    {
        // init arg1 and arg2
        var value = A(arg1, agr2);
        // do something with value
    }
});
Run Code Online (Sandbox Code Playgroud)

现在的问题是,随着核心数量的增加,这不会扩大规模; 例如,在8个内核上,它使用80%的CPU,在16个内核上,它使用40-50%的CPU.我想最大限度地使用CPU.

您可能认为A(arg1, arg2)内部包含复杂的计算,但它没有任何IO或网络绑定操作,也没有线程锁定.有哪些其他可能性可以找出代码的哪一部分使其不能以100%并行的方式执行?

我也试过提高并行度,例如

int threads = Environment.ProcessorCount * 2;
// AND
int threads = Environment.ProcessorCount * 4;
// etc.
Run Code Online (Sandbox Code Playgroud)

但它没有任何帮助. …

c# cpu-usage task-parallel-library parallel.foreach

8
推荐指数
1
解决办法
1699
查看次数

React-Native中的CPU使用率高

我正在努力减少RN应用程序上的CPU负载。我已将应用程序发布到设备中,并从项目中修剪了控制台日志。即使执行了此操作,该应用程序在几乎空白的屏幕上仍占用约33%的CPU使用率。

有趣的是,有时大约6分钟后,CPU释放并下降到3-4%。我怀疑一个很长的循环已经完成,但是找不到。

我已经在Xcode的Instruments中运行了该应用程序,它仅在iOS atm上运行,并发现了一些有趣的东西。从外观上来看,它得到成一个长链[CALayer renderInContext]它是从哪里来的UVVideoRecorder。我不熟悉,UVVideoRecorder很想听听人们可能有什么想法。

调用堆栈+线程

performance xcode cpu-usage react-native

8
推荐指数
1
解决办法
592
查看次数