`
re_reference
  • 浏览: 237109 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

检测内存

阅读更多
//检测内存
void report_memory(void) {
    static unsigned last_resident_size=0;
    static unsigned greatest = 0;
    static unsigned last_greatest = 0;
    
    struct task_basic_info info;
    mach_msg_type_number_t size = sizeof(info);
    kern_return_t kerr = task_info(mach_task_self(),
                                   TASK_BASIC_INFO,
                                   (task_info_t)&info,
                                   &size);
    if( kerr == KERN_SUCCESS ) {
        int diff = (int)info.resident_size - (int)last_resident_size;
        unsigned latest = info.resident_size;
        if( latest > greatest   )   greatest = latest;  // track greatest mem usage
        int greatest_diff = greatest - last_greatest;
        int latest_greatest_diff = latest - greatest;
        NSLog(@"Mem: %10u (%10d) : %10d :   greatest: %10u (%d)", info.resident_size, diff,
              latest_greatest_diff,
              greatest, greatest_diff  );
    } else {
        NSLog(@"Error with task_info(): %s", mach_error_string(kerr));
    }
    last_resident_size = info.resident_size;
    last_greatest = greatest;
}
分享到:
评论

相关推荐

    内存变量检查 内存变量检测

    内存变量检查 内存变量检测 内存变量检查 内存变量检测 内存变量检查 内存变量检测内存变量检查 内存变量检测内存变量检查 内存变量检测

    Asm检测内存.rar

    汇编语言的内存检测可能涉及读取和解析内存地址、检查内存空间的分配和释放、识别未初始化的内存区域等操作。 根据压缩包内的文件名称 "易语言Asm检测内存源码",我们可以推测这是使用易语言(E语言)编写的一个...

    检测内存泄漏的方法

    除了`_CrtDumpMemoryLeaks()`,还可以使用 `_CrtSetDbgFlag()` 来设置调试标志,例如 `_CRTDBG_ALLOC_MEM_DF` 开启内存分配调试,`_CRTDBG_LEAK_CHECK_DF` 在程序结束时自动检查内存泄漏。例如: ```cpp _...

    c++检测内存泄漏(如何检测内存泄漏)

    4. **内存泄漏检测库**:有许多第三方库,如Valgrind、LeakSanitizer(ASan的一部分),可以帮助检测内存泄漏。这些工具可以在运行时检查程序的行为,报告未释放的内存块。 5. **内存泄漏检测算法**:除了工具,还...

    memtest检测内存.rar

    为了确保计算机的稳定运行,我们需要定期检查内存是否有错误或缺陷,这就是`memtest`工具的作用所在。 `memtest`是一款专门用于检测计算机内存稳定性和可靠性的软件。它通过执行一系列复杂的内存测试,查找可能存在...

    使用 CRT 调试功能来检测内存泄漏

    除了手动调用`_CrtDumpMemoryLeaks`,还可以通过设置环境变量`_CRTDBG_DELAY_FREE_MEM_DF`来延迟释放内存,以便在程序运行过程中持续检查内存泄漏。这样做可以在程序执行多个步骤后查看泄漏情况,而不仅仅是程序结束...

    内存检测工具 检测内存的错误

    为确保系统的稳定性和数据的准确性,使用内存检测工具对内存进行检查和诊断是十分必要的。本文将详细介绍内存检测工具的功能、工作原理以及如何使用它们来检测内存的错误。 内存检测工具,如Memtest86+、Prime95、...

    linux下检查内存泄漏的工具+例子

    Valgrind的`memcheck`工具专门用于内存错误检测,`--leak-check=yes`则表示开启内存泄漏检查。 为了更好地理解Valgrind的用法,你可以参考提供的`demo`测试程序。这个演示程序可能会包含一些故意的内存泄漏,运行时...

    易语言Asm检测内存

    易语言Asm检测内存源码,Asm检测内存,取函数地址,内存是否可读,内存是否可写,雅蠛蝶,IsBadReadPtr,IsBadWritePtr,LoadLibraryA,GetProcAddress,FreeLibrary

    一款检测内存使用量的实用小公具

    标题中的“一款检测内存使用量的实用小工具”指的是一个应用程序,它的主要功能是监测计算机系统的内存(RAM)使用情况。这种工具对于了解系统性能、优化资源管理以及防止因内存耗尽导致的系统卡顿非常有帮助。在...

    使用Visual Leak Detector检查内存泄露

    下面将详细介绍如何使用Visual Leak Detector来检查内存泄露。 首先,你需要下载并安装Visual Leak Detector。VLD作为一个静态库,需要将其集成到你的Visual Studio项目中。这通常包括以下步骤: 1. 下载VLD的最新...

    Linux 平台检测内存是否泄漏

    1. **Valgrind**:Valgrind是一款强大的动态代码分析工具,其中的`memcheck`子工具专门用于检查内存泄漏。它能够跟踪内存分配和释放,找出未释放的内存块。使用Valgrind时,你需要重新编译程序以生成调试信息,并在...

    内存清道夫 检测内存泄漏强力单元

    6. **手动检查**:除了使用工具外,开发者还可以通过代码审查和特定的测试策略来检测内存泄漏,例如,确保所有分配的内存都在适当的时候释放,或者在程序结束时检查是否仍有内存占用。 7. **内存池技术**:内存池是...

    C 语言检测内存泄露的方法(例子)

    4. **手动检查**:在代码审查过程中,开发者可以特别关注那些分配内存但可能忘记释放的地方,如大括号对齐不一致、异常处理中未释放内存等。 在`sample.c`和`wrong.c`文件中,可能包含了一些内存管理的示例,其中`...

    Win7下如何检测内存

    在探讨如何在Windows 7(以下简称Win7)操作系统下检测内存这一主题时,我们首先要明确的是,内存(RAM)作为计算机的重要组成部分,其健康状态直接影响着系统的稳定性和性能。因此,掌握一种有效的内存检测方法对于...

    检查内存泄露 检查内存泄露

    本文将详细讲解如何在C++中检查内存泄露。 首先,检查内存泄露的一个常见方法是在程序的关键部分使用`CMemoryState`类,这是MFC库提供的一个工具,用于跟踪内存分配和释放的状态。`CMemoryState`提供了几个关键成员...

    检测内存卡

    2. **坏道检测**:检查内存卡是否存在损坏的扇区,防止数据丢失。 3. **连续读写测试**:模拟大量数据的连续读写,检验内存卡的稳定性。 4. **随机读写测试**:测试内存卡处理小文件和随机访问的能力,这对于多媒体...

    系统启动时检测内存状况的软件C代码,程度有点深,具备了C高级编程知识的朋友们可以参考研习

    4. **位操作**:C语言支持位操作,如位移、与、或、异或,这些在检查内存中的位模式时非常有用。 5. **异常处理**:为了处理可能出现的错误,如内存分配失败或非法访问,我们需要使用`try-catch`或`setjmp/longjmp`...

Global site tag (gtag.js) - Google Analytics