首页 文章
  • -1 votes
     answers
     views

    为什么iOs代码使用了如此多的内存和CPU

    我有一些排列/组合代码迭代20个对象,一次取5个 . 当列表符合某些条件时,我打印组成该列表的对象 . 不用说循环相当大 . 我将所有组合放在循环内部的NSMutableArray中 . 一旦添加了对象并通过/未通过测试,我将从阵列中删除所有对象 . (下面的Psuedo代码) . -(void)CreateCombinations { NSMutableArray *Combinatio...
  • 0 votes
     answers
     views

    Telegraf配置插件

    使用telegraf代理导出计算机指标 . 一切正常,但由于机器有多个CPU,我试图获取信息显示在Grafana仪表板中0 - 100% . 我发现解决方案似乎无法实现它 . 解决方案:使用CPU插件并指定'percpu = true','totalcpu = true' . 然后我可以修改查询以包含cpu-totalcpu参数 . 当尝试启用此插件时,在telegraf配置文件中,我尝试执行...
  • 3 votes
     answers
     views

    Tensorflow对象检测推理在CPU上运行缓慢

    System information What is the top-level directory of the model you are using: object_detection / ssd_inception_v2 Have I written custom code (as opposed to using a stock example script provided ...
  • 238 votes
     answers
     views

    每个核心的最佳线程数

    假设我有一个4核CPU,我希望在最短的时间内运行一些进程 . 这个过程理想上是可并行化的,所以我可以在无限数量的线程上运行它的块,每个线程花费相同的时间 . 由于我有4个内核,我不希望通过运行比内核更多的线程来加速,因为单个内核只能在给定时刻运行单个线程 . 我对硬件知之甚少,所以这只是猜测 . Is there a benefit to running a parallelizable proc...
  • 0 votes
     answers
     views

    为什么MESI协议可能导致写入操作,然后对同一地址执行写操作?

    MESI协议用于回写 . 单个处理器上有2个内核,为简单起见,只有L1缓存 . 地址A从未使用过 core 1启动了对地址A的写操作 . 它导致数据保存到其缓存中,状态设置为M. core 2启动了对地址A的写操作 . 导致缓存未命中 . 核心2发布RWITM广播 . 核心1是窥探,阻止RWITM,值保存到主内存,其状态在其缓存中设置为I.接下来是核心2重新发布RWITM并将值存储在主...
  • 1 votes
     answers
     views

    使用写分配策略写回缓存公式

    如果我们将 hierarchical single level write back cache 与 write allocate policy 一起考虑,则 write operation 期间的平均访问时间公式由下式给出: - Twrite =(H)(Tc)(1-H)(Tc Tm(x * Tm)) . 哪里, H =缓存的命中率 . Tc =缓存的访问时间 . Tm =内存的访问时间 . x ...
  • 0 votes
     answers
     views

    调用GPU的内核后CPU的性能下降

    我正在研究GPU上的Harris角点检测 . 我观察到CPU性能的异常行为 . 以下是我的Main.cpp文件,如果我通过注释我的内核函数来运行此调用(此函数调用GPU的各种内核) "Harris_Algo(a,d_a,d_g,dx_My,dy_My,dxdy_My,suppressed,corner_response,Res,Height,length,SIZE);" 我的函...
  • 0 votes
     answers
     views

    从哪里添加CPU指令从源安装Tensorflow?

    我正在尝试从源安装Tensorflow,因为当我使用pip和virtualenv安装时没有安装CPU指令(SSE,AVX ......)的警告: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but thes...
  • 5 votes
     answers
     views

    ABI vs C标准

    我试图理解ABI(比如System V)和C Standard的区别 . 因此,C标准只是确定合法C,以便编译器可以将其转换为适当的汇编代码 . 然后ABI规定此汇编代码如何与x86架构交互?是两者之间的较高级别比较吗? My reason for asking is that being interested in low latency software I wonder how much v...
  • 1 votes
     answers
     views

    为什么Xeon Phi总是效果不好?

    我尝试在Xeon E5和Xeon Phi上运行1,000,000,000次for循环,测量时间来比较它们的功效,我很惊讶我得到了以下结果: 在E5(1线程):41.563秒 在E5(24个主题)上:22.788秒 在Xeon Phi上卸载(240个线程):45.649秒 谁能告诉我为什么我的效果不好?关于建筑还是其他? 为什么我在Xeon Phi上遇到了不好的效果?我在for循环中...
  • 0 votes
     answers
     views

    “每时钟一个标量率”是什么意思?

    我阅读了英特尔手册中的以下句子 . 由于我不是母语为英语的人,我不太清楚“ scalar rate of one per clock ”是什么意思 . 有人能解释一下吗?谢谢 . 一个8 KB的片上一级缓存,增加了可以以每时钟一个标量速率执行的指令百分比
  • 2 votes
     answers
     views

    了解CPU流水线阶段与指令吞吐量

    我遗漏了一些基本的东西 . CPU流水线:在基本级别,为什么指令需要不同数量的时钟周期才能完成,为什么某些指令在多级CPU中只需要1个周期? 除了明显的“不同指令需要完成不同的工作量”之外,请听我说... 考虑一个带有大约14级流水线的i7 . 这需要14个时钟周期才能完成一次运行 . AFAIK,这应该意味着整个管道的延迟为14个时钟 . 然而事实并非如此 . XOR在1个周期内完成,延迟为...
  • -1 votes
     answers
     views

    计算字符串的哈希值(MD5,SHA)作为CPU基准测试的基础

    我知道有许多应用程序和工具可用于提高CPU的计算能力,尤其是在 floating point and integer calculations 方面 . 我想知道的是,使用诸如MD5,SHA等散列函数来对CPU进行基准测试有多好?这些函数是否包含足够的浮点和整数计算,应用一系列散列函数可能是cpu becnhmarking的良好基础? 如果平台很重要,我会关注Windows和.Net .
  • 2 votes
     answers
     views

    如何计算好的cpu百分比,例如在顶部?

    我的研究小组正在CentOS服务器上分享时间,我们一直在使用renice 15来尝试降低长时间运行的后台任务的优先级 . 当运行top时,这些进程确实显示为具有15的漂亮值,但是即使这些进程在30个核心上进行搅拌,“%ni”测量的漂亮cpu负载总是非常低(小于1%)(如在%CPU列中报告) . 这让我们认为我们实际上并没有正确使用renice(尽管好的进程确实可以产生更高优先级的任务) . 如何在...
  • 346 votes
     answers
     views

    您的CPU支持未编译此TensorFlow二进制文件的指令:AVX AVX2

    我是TensorFlow的新手 . 我最近安装了它(Windows CPU版本)并收到以下消息: 已成功安装tensorflow-1.4.0 tensorflow-tensorboard-0.4.0rc2 然后,当我试图跑 import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() ...
  • 505 votes
     answers
     views

    如何从进程内部确定CPU和内存消耗?

    我曾经有过从正在运行的应用程序中确定以下性能参数的任务: 可用的虚拟内存总量 当前使用的虚拟内存 我的进程当前使用的虚拟内存 总RAM可用 目前使用的RAM 我的进程当前使用的RAM %CPU当前使用 %我的进程当前使用的CPU 代码必须在Windows和Linux上运行 . 即使这似乎是一项标准任务,但在手册(WIN32 API,GNU文档)以及I...
  • 203 votes
     answers
     views

    多核汇编语言是什么样的?

    曾几何时,例如,要编写x86汇编程序,你会得到说明“加载EDX寄存器的值为5”,“递增EDX”寄存器等 . 对于具有4个内核(甚至更多)的现代CPU,在机器代码级别上它看起来就像有4个独立的CPU(即只有4个不同的“EDX”寄存器)?如果是这样,当你说“递增EDX寄存器”时,是什么决定了哪个CPU的EDX寄存器递增?现在x86汇编程序中是否存在“CPU上下文”或“线程”概念? 核心之间的通信/同步...
  • 218 votes
     answers
     views

    如何使用bash命令创建CPU峰值

    我想在Linux机器上创建接近100%的负载 . 它是四核系统,我希望所有内核全速运行 . 理想情况下,CPU负载将持续指定的时间,然后停止 . 我希望在bash中有一些技巧 . 我在想某种无限循环 .
  • 392 votes
     answers
     views

    如何从命令行获取Linux中的CPU /核心数?

    我有这个脚本,但我不知道如何获得打印输出中的最后一个元素: cat /proc/cpuinfo | awk '/^processor/{print $3}' 最后一个元素应该是CPU数量减去1 .
  • 0 votes
     answers
     views

    如何可靠地监控CPU频率(在linux中)?

    我想要监控各个内核的CPU工作频率 . 我不确定监控CPU频率的正确方法是什么,以更低的开销可靠地形成内核级别和硬件级别 . 如果有人能回答我的几个问题,我将非常感激 . 假设我通过将应用程序固定到核心来运行应用程序 . 我想监视它在执行阶段(开始到结束)所需的频率并捕获它 . 我想要从硬件级别(从MSR可能)获得所需的准确频率 . 不确定捕获这个的准确方法是什么?有办法吗?是否有任何工具或命令可...
  • -1 votes
     answers
     views

    keras没有使用gpu但是tensorflow是

    Keras没有使用我的GPU,即使tensorflow似乎运行得很好 . 我跟随其他人建议检查tensorflow: import tensorflow from tensorflow.python.client import device_lib print(device_lib.list_local_devices()) 这使 [name: "/device:CPU:0"...
  • 0 votes
     answers
     views

    为处理器创建指令格式

    我应该为处理器创建一个指令格式,其中包含以下细节: 32条说明 2地址机 字长32位 16个寄存器 64 Mwords中央内存可用 内存是字节可寻址的 常数为1个字宽 地址:直接寄存,间接寄存,直接存储,立即,16位索引表示的寄存器 我其实几乎知道该怎么做但我对此有一些疑问 . 32指令的位大小是多少?我知道,如果我们有16个指令,它将是4.对于32,我们将有8...
  • 155 votes
     answers
     views

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

    我想用Java监视以下系统信息: 当前CPU使用率**(百分比) 可用内存*(免费/总计) 可用磁盘空间(免费/总计) *请注意,我的意思是整个系统可用的整体内存,而不仅仅是JVM . 我正在寻找一种不依赖于我自己的代码调用外部程序或使用JNI的跨平台解决方案(Linux,Mac和Windows) . 虽然这些是可行的选择,但如果有人已经拥有更好的解决方案,我宁愿不自己维护特定于操...
  • 0 votes
     answers
     views

    在Grafana中为Docker容器构建CPU使用率图

    我连接了cAdvisor - > Prometheus和Grafana来获取我的Docker容器的图形 . 其中一个是CPU负载,但我只能看到累计使用线,而不是实际上是一个值 . 我喜欢看到类似的cAdvisor正在展示的东西 . 这样做的方式是什么?
  • 5 votes
     answers
     views

    性能调控器不会将CPU频率锁定在最大值

    我正在专用的X3440服务器上运行实时应用程序,并想知道为什么应用程序性能比我以前的VPS盒差 . 然后我下载http://i7z.googlecode.com/svn/trunk/i7z_64bit并执行它以查看在正常使用情况下(在10%左右的CPU中),所有CPU核心仅保持在900Mhz~1200Mhz左右,并且波动迅速且不一致 . 然后我尝试将调控器从ondemand设置为performan...
  • 38 votes
     answers
     views

    准确计算Linux中以百分比给出的CPU使用率?

    这是一个多次被问过的问题,但是我找不到很好的支持答案 . 很多人建议使用top命令,但如果你运行top一次(因为你有一个脚本,例如每1秒收集一次Cpu使用),它将始终给出相同的Cpu使用结果(example 1,example 2) . 计算CPU使用率的更准确方法是通过读取 /proc/stat 中的值,但大多数答案仅使用 /proc/stat 中的前4个字段来计算它(一个示例here) . 从...
  • 3 votes
     answers
     views

    Linux CPU频率缩放会影响timerfd的准确性

    在基于Linux的单核嵌入式Cortex-A8机器上,我遇到了 timerfd 的问题:我需要每隔几毫秒触发一些IO,到目前为止我用这样创建的计时器一切顺利: int _timer_fd = timerfd_create(CLOCK_MONOTONIC, TFD_NONBLOCK); int _flags = 0; itimerspec _new_timer; _new_timer.it_inte...
  • 2 votes
     answers
     views

    异构集群中的Kubernetes cpu请求/限制

    Kubernetes允许为POD指定cpu limit and/or request . CPU资源的限制和请求以cpu为单位进行测量 . Kubernetes中的一个cpu相当于: 1 AWS vCPU 1 GCP Core 1 Azure vCore 1 IBM vCPU 1 Hyperthread on a bare-metal Intel processor with Hyperthre...
  • 1 votes
     answers
     views

    TLB物理寻址对我来说没有意义[关闭]

    我正在以简单的方式阅读TLB如何工作而我不明白的事情: TLB在其表中引用物理内存地址 . 它可以驻留在CPU和CPU高速缓存之间,CPU高速缓存和主存储器之间,或多级高速缓存的级别之间 . 放置确定缓存是使用物理寻址还是虚拟寻址 . 如果虚拟地寻址高速缓存,则将请求直接从CPU发送到高速缓存,并且仅在高速缓存未命中时访问TLB . 如果缓存是物理寻址的,则CPU会对每个内存操作执行TLB查找,...
  • 43 votes
     answers
     views

    整个核心致力于单一流程

    在Linux中是否有任何方法可以将一个CPU内核分配给特定的给定进程,并且不应该在此内核上安排任何其他进程或中断处理程序? 我在Linux Binding Processes to CPUs using the taskset utility 中已经阅读了关于进程关联的内容,但是这并没有解决我的问题因为 it just try to affine the given process to tha...

热门问题