草庐IT

linux - 内核模块的 CPU 使用率

我需要了解Linux(Fedora)中特定内核模块(例如iptable_mangle)的CPU使用情况。我知道top或mpstat显示系统CPU使用率,这实际上是内核空间中的总CPU使用率。是否有任何选项可以了解特定内核对象的CPU使用情况? 最佳答案 抱歉让您失望了,但是没有办法实现您想要的——不是因为Linux没有这个能力,而是因为定义:模块可以通过两种一般方式“插入”内核:通过安装回调(例如proc或sys文件、设备等),或启动内核线程。在您的情况下,iptable_mangle通过在iptables/netfilter上设置

c - linux 中的 sched_setaffinity cpu 亲和性

我在一台有1个插槽、4个内核的服务器上用Linux做了一个sched_setaffinity测试,以下/proc/cpuinfo显示cpu信息:processor:0modelname:Intel(R)Core(TM)2QuadCPUQ8400@2.66GHzcachesize:2048KBphysicalid:0siblings:4cpucores:4processor:1modelname:Intel(R)Core(TM)2QuadCPUQ8400@2.66GHzcachesize:2048KBphysicalid:0siblings:4cpucores:4processor:2m

Java 在 Linux 上使用 100% 的 CPU

在我的linux服务器上,任何java程序(甚至是“Helloworld”)都使用100%的cpu,而且速度非常非常慢。id不依赖于java版本,我尝试过不同版本的openjdk和sunjdk,两者的行为相同。我该如何解决? 最佳答案 我在这篇文章中找到了解决方案http://blog.wpkg.org/2012/07/01/java-leap-second-bug-30-june-1-july-2012-fix/很有可能,这是“闰秒内核错误”造成的。首先,检查dmesg中的以下内容[10703552.860274]Clock:in

c - Linux 中的每个线程 CPU 统计信息

我想报告服务器进程中每个线程使用的CPU时间量(用C/C++编写)在Linux上)。我在Windows上找不到与GetThreadTimes()等效的函数,但这正是我要找的。谁能指出我正确的方向? 最佳答案 使用RUSAGE_THREAD的getrusage(2)。从手册页:intgetrusage(intwho,structrusage*usage);getrusage()returnsresourceusagemeasuresforwho,whichcanbeoneofthefollowing:[...]RUSAGE_THREA

linux - 有没有更好的方法来显示 tmux 中的 cpu 使用情况?

这是一个可能会消耗大量CPU使用率的解决方案(从thisarticle中窃取):我的Ubuntu12ec2服务器有所不同,我必须使用top-bn1而不是top-ln。这是我的相关.tmux.conf文件:set-gstatus-right'#[fg=yellow]#[(getCpuUsage.sh)]'它实际上每2秒调用一次top并输出大量信息。我认为应该有一种方法涉及更少的cpu消耗或使用一些标志将top的输出限制为仅cpu使用。 最佳答案 我用小tmux-mem-cpu-loadC++程序。无论哪种方式,每次更新至少需要一个fo

linux - linux 中的 ps 实用程序 (procps),如何检查使用了哪个 CPU

它是关于procps包,用于linux的实用程序ps。能否打印每个进程(线程)最后使用的CPU数量?更新:不是CPU时间(10秒),而是CPU编号(CPU0、CPU5、CPU123) 最佳答案 ps(1)手册页说您可以使用psr字段:psrPSRprocessorthatprocessiscurrentlyassignedto.$ps-opid,psr,commPIDPSRCOMMAND78711bash99533ps或者你可以使用cpuid字段,它做同样的事情。$ps-opid,cpuid,commPIDCPUIDCOMMAND7

c - 在 Linux 中查找线程的 CPU 使用率

我有一个基于C的应用程序在Linux上运行,大约有30个线程。现在我需要编写一个小实用程序来查找给定时间每个线程的CPU使用率。它可以是一个单独的或应用程序的一部分。/proc的一个问题是找到哪个线程是什么。请给我一些关于如何开始的想法。谢谢 最佳答案 我建议给每个线程一个人类可读的名字。此名称在线程级“ps”输出中可见(因此“ps-LPID”)。您使用此(不可移植的)pthreadapi为每个线程命名:intpthread_setname_np(pthread_tthread,constchar*name);多线程雷鸟的示例输出:

linux - 为什么系统 CPU 时间 (% sy) 很高?

我正在运行一个加载大文件的脚本。我在单核OpenSuSe服务器和四核PC上运行了相同的脚本。正如在我的PC中预期的那样,它比在服务器中快得多。但是,该脚本会降低服务器速度并使其无法执行任何其他操作。我的脚本是for100iterationsLoadsaveddata(about10mb)时间脚本(PC端)real0m52.564suser0m51.768ssys0m0.524stimemyscript(在服务器中)real32m32.810suser4m37.677ssys12m51.524s我想知道为什么当我在服务器中运行代码时“sys”如此之高。我使用top命令检查内存和cpu使用

linux - top 显示高用户空间 CPU 使用率,但所有进程显示 0

关于为什么负载会通过屋顶的任何想法,top显示每个CPU用户空间利用率为85%或更高,但没有进程被标记为任何CPU利用率?第一次见到这个。我们有一台平均负载为20的服务器,每个CPU的故障率都非常高(>85%),但列表中的进程都没有任何CPU利用率.这是一个示例,是的,这是按照从最高CPU利用率到最低CPU利用率排序的进程-千载难逢,我们实际上会看到一个进程显示“1”作为CPU百分比。这是一个mysql服务器盒子。top-16:08:48up185days,15:27,5users,loadaverage:20.60,17.20,13.17Tasks:221total,2running

linux - gperftools cpu profiler 不支持多进程?

根据文档,http://gperftools.googlecode.com/svn/trunk/doc/cpuprofile.html,cpuprofiles确实支持多进程并且会生成独立的输出文件:Ifyourprogramforks,thechildrenwillalsobeprofiled(sincetheyinheritthesameCPUPROFILEsetting).Eachprocessisprofiledseparately;todistinguishthechildprofilesfromtheparentprofileandfromeachother,allchild