标签: performancecounter

为什么cpu性能计数器保持报告0%cpu使用率?

PerformanceCounter cpuload = new PerformanceCounter();
cpuload.CategoryName = "Processor";
cpuload.CounterName = "% Processor Time";
cpuload.InstanceName = "_Total";
Console.WriteLine(cpuload.NextValue() + "%");
Run Code Online (Sandbox Code Playgroud)

输出总是0%,而cpuload.RawValue像是736861484375左右,发生了NextValue()什么?

c# performancecounter cpu-usage

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

在Mac上安装"perf"

我需要"perf"实用程序来监控我的Mac上的程序.我知道linux附带了它,但它可以在Mac上使用吗?

我正在研究OSX 10.9 Mavericks并尝试使用perf或linux工具进行"端口搜索",但我无法获得任何结果.

macos profiling performancecounter perf osx-mavericks

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

如何在ARM Cortex-A8处理器中测量程序执行时间?

我正在使用一个名为i.MX515的基于ARM Cortex-A8的处理器.有Linux Ubuntu 9.10发行版.我正在运行一个用C编写的非常大的应用程序,我正在利用gettimeofday();函数来衡量我的应用程序所需的时间.

main()

{

gettimeofday(start);
....
....
....
gettimeofday(end);

}
Run Code Online (Sandbox Code Playgroud)

这个方法足以让我看看我的应用程序块占用了多少时间.但是,现在,我正在尝试使用gettimeofday()计算时间的方法彻底优化我的代码,我看到连续运行之间有很多波动(在我的优化之前和之后运行),所以我不能确定实际执行时间,从而影响我的改进.

谁能告诉我应该怎么做?

如果通过访问循环计数器(在ARM网站上为Cortex-M3建议的想法),任何人都可以向我指出一些代码,它给出了我在Cortex-A8上访问定时器寄存器时必须遵循的步骤吗?

如果这种方法不是很准确,那么请提出一些替代方案.

谢谢


跟进

跟进1:在Code Sorcery上编写了以下程序,生成了可执行文件,当我尝试在主板上运行时,我得到了 - 非法指令消息:(

static inline unsigned int get_cyclecount (void)
{
    unsigned int value;
    // Read CCNT Register
    asm volatile ("MRC p15, 0, %0, c9, c13, 0\t\n": "=r"(value));
    return value;
}

static inline void init_perfcounters (int32_t do_reset, int32_t enable_divider)
{
    // in general enable all counters (including cycle counter)
    int32_t value = 1;

    // …
Run Code Online (Sandbox Code Playgroud)

c arm performancecounter time-measurement cortex-a8

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

要监控的最佳ASP.NET性能计数器是什么?

在perfmon for ASP.NET中有大量的计数器可用.什么是最好的(我想选择5-10),这将是我们测试环境中最好的监控,以便我们可以反馈给开发人员.

我在考虑请求时间,请求队列长度,活动会话等.

asp.net testing performancecounter

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


反正有没有在OS X Mountain Lion上阅读性能指标?

OSX Mountain Lion不再支持允许您配置自定义性能计数器的Shark,因为它无法运行32位内核.Instruments.app,Apple替代Shark,似乎不支持阅读性能计数器,如L1缓存命中/未命中**.无论如何在OS X上实际设置和读取性能计数器?即使没有应用程序,是否有一些用户土地API来执行此操作?

**Instruments.app似乎有一个性能计数器接口,但在我的Retina MacBook Pro上,PM Events窗口没有列出任何事件,并指示"Device:Unknown".仪器还有其他替代品吗?

macos performance xcode performancecounter instruments

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

性能计数器按进程ID而不是名称?

我正在跟踪同一个应用程序的多个实例,需要获取两个进程的内存和CPU使用.但是,我似乎无法找到一种方法来使用性能计数器,并知道哪个结果是针对哪个进程的.我已经看到我可以将#1等附加到名称的末尾以获得每个的结果,但这并不能告诉我哪个是哪个进程.

如何确定ProcessId或将进程ID传递给计数器以获得具有相同名称的每个进程的结果?

PerformanceCounterCPU.CategoryName = "Process";
PerformanceCounterCPU.CounterName = "% Processor Time";
PerformanceCounterCPU.InstanceName = proc.ProcessHandle.ProcessName;

PerformanceCounterMemory.CategoryName = "Process";
PerformanceCounterMemory.CounterName = "Working Set - Private";
PerformanceCounterMemory.InstanceName = proc.ProcessHandle.ProcessName;
Run Code Online (Sandbox Code Playgroud)

c# performancecounter

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

删除Windows性能计数器类别

我有一个自定义的性能计数器类别.Visual Studio Server Explorer拒绝删除它,声称它"未注册或系统类别".如果没有以编程方式进行,我该如何删除该类别?我可以删除一个注册表项吗?

windows performancecounter

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

如何将性能计数器添加到我已创建的类别中

我已经创建了一个PerformanceCounterCategory,如下所示

var category = PerformanceCounterCategory.Create("MyCat", "Cat Help",
    PerformanceCounterCategoryType.SingleInstance, "MyCounter", "Counter Help);
Run Code Online (Sandbox Code Playgroud)

如何在类别中添加新计数器以监控其他项目?
我找不到它的api.

.net c# performancecounter

24
推荐指数
1
解决办法
4694
查看次数

如何在System.Diagnostics.Stopwatch中使用AverageTimer32和AverageBase性能计数器?

当我执行以下程序并查看性能计数器时,结果对我来说没有意义.平均值为零,当我期望~0.1或~100时,最小/最大值为~0.4.

我的问题是什么?

class Program
{
    const string CategoryName = "____Test Category";
    const string CounterName = "Average Operation Time";
    const string BaseCounterName = "Average Operation Time Base";

    static void Main(string[] args)
    {
        if (PerformanceCounterCategory.Exists(CategoryName))
            PerformanceCounterCategory.Delete(CategoryName);

        var counterDataCollection = new CounterCreationDataCollection();

        var avgOpTimeCounter = new CounterCreationData()
        {
            CounterName = CounterName,
            CounterHelp = "Average Operation Time Help",
            CounterType = PerformanceCounterType.AverageTimer32
        };
        counterDataCollection.Add(avgOpTimeCounter);

        var avgOpTimeBaseCounter = new CounterCreationData()
        {
            CounterName = BaseCounterName,
            CounterHelp = "Average Operation Time Base Help",
            CounterType = PerformanceCounterType.AverageBase
        }; …
Run Code Online (Sandbox Code Playgroud)

.net c# performancecounter

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