Linux 下利用 Valgrind 进行内存调试 [toc] 一、概述Valgrind 是一个开源的内存调试和性能分析工具,用于帮助开发者找出程序中的内存错误,如内存泄漏、使用未初始化的内存、非法内存访问等问题。它在 Linux 平台上广泛使用,并且支持下多种处理器架构。 二、Valgrind 的使用1、基本格式1valgrind --tool=memcheck -–gen-suppressions=all -–show-leak-kinds= 2024-08-11 Linux > 性能优化/调试 #Linux #性能优化/调试
Linux 进程调度(三)之进程的优先级 @toc 一、概述在 Linux 中,每个进程都有一个优先级。优先级决定了进程在系统资源分配中的先后顺序。Linux 中的进程优先级范围从 -20 到 +19,其中 -20 为最高优先级,+19 为最低优先级。 二、进程的优先级1、基础概念Linux 中的进程优先级分为静态优先级和动态优先级。 静态优先级:静态优先级是在创建进程时分配的,通常由管理员或程序员指定。静态优先级决定了进程的基本优先 2024-08-10 Linux > 进程调度 #Linux #进程调度
Linux 错误码 @toc 一、概述在 Linux 系统中,错误码是用来表示操作系统运行过程中发生的错误的数字代码。错误码通常由负数表示,0 表示成功,正数表示警告或其他非致命错误。 为了开发者更好地处理系统错误,内核中预定义的错误几乎涵盖了我们可能遇到的所有问题。一些错误的宏定义在 include/uapi/asm-generic/errno-base.h,还有一部分定义在 include/uapi/asm-g 2024-08-09 Linux #Linux #错误码
Linux 进程调度(二)之进程的上下文切换 @toc 一、概述进程的上下文切换是指在多任务操作系统中,当操作系统决定要切换当前运行的进程时,将当前进程的状态保存起来,并恢复下一个要运行的进程的状态。上下文切换是操作系统实现进程调度和实现多任务的关键机制之一。 操作系统一个非常重要的功能就是进程的管理,通过调度策略选择合适的进程来执行,对于单个 CPU 而言,进程是串行分时执行,这就需要内核支持进程切换,挂起一个正在 CPU 中执行的进程, 2024-08-09 Linux > 进程调度 #Linux #进程调度
Linux 调试之动态打印 [toc] 一、概述在 kernel 驱动代码中,使用动态输出是系统内核调试的重要手段之一,printk 打印是全局的,只能设置输出等级,而且使用 printk 每次都要重新编译内核,很不方便。。而动态输出可以在不需要重新编译内核的情况下,方便的打印出内核的 debug 信息。动态输出可以动态选择打开某个内核子系统的输出,可以有选择性地打开某些模块的输出,printk 被 dev_info,de 2024-08-08 Linux > 性能优化/调试 #Linux #性能优化/调试
Linux 下查看 CPU 使用率 [toc] CPU 使用率是最直观和最常用的系统性能指标,更是我们在排查性能问题时,通常会关注的第一个指标。 一、什么是 CPU 使用率Linux 作为一个多任务操作系统,将每个 CPU 的时间划分为很短的时间片,再通过调度器轮流分配给各个任务使用,因此造成多任务同时运行的错觉。 为了维护 CPU 时间, Linux 通过事先定义的节拍率(内核中表示为 HZ),触发时间中断,并使用全局变量 Ji 2024-08-07 Linux > 性能优化/调试 #Linux #Linux 命令 #性能优化/调试
Linux 利用 ftrace 分析内核调用 [toc] 一、概述在 Linux 中,ftrace 是一种用于跟踪内核函数调用和事件的工具。它是一个功能强大的跟踪框架,可用于分析和调试内核性能问题。 ftrace 提供了多种功能,包括函数跟踪、事件记录和性能分析等。它能够记录函数的调用和返回信息,以及函数执行的路径和时间。通过跟踪这些信息,我们可以了解到内核函数的执行情况,从而定位和解决性能问题。 ftrace 使用了内核中的一些机制来实现 2024-08-07 Linux > 性能优化/调试 #Linux #Linux 命令 #性能优化/调试
Linux 中 core dump 异常的分析 [toc] 一、概述 在 UNIX 系统中,常将“主内存称为核心(core),因为在使用半导体作为内存材料之前,便是使用核心(core)。而核心映像(core image)就是 “进程”(process)执行当时的内存内容。当进程发生错误或收到 “信号”(signal)而终止执行时,系统会将核心映像写入一个文件,以作为调试之用,这就是所谓的核心转储(core dump)。 Core dump 2024-08-06 Linux > 性能优化/调试 #Linux #Linux 命令 #调试
Linux 利用 iostat 和 iotop 进行 IO 分析 @toc 一、概述在Linux 系统上,iostat 和 iotop 这两个 IO 数据工具非常常用。它们都是性能分析领域中不可缺少的工具性软件。 如果 Linux 系统性能变慢,我们会用 top 命令 来查看系统性能。它被用来检查是什么进程在服务器上占有如此高的使用率,对于大多数 Linux 系统管理员来说很常见,现实世界中被 Linux 系统管理员广泛采用。 如果在进程输出中你没有看到很大的 2024-08-06 #Linux #Linux 命令 #性能优化/调试
Linux 下 perf 的使用 [TOC] 一、概述1、perf 作用perf 是一个性能分析工具(基于 Linux 内核提供的性能事件 perf_event 口),用于对 Linux 系统进行性能调优和性能分析。它可以通过收集硬件性能计数器、跟踪系统事件和采样程序调用栈等方式来提供详细的性能统计信息。 perf 依赖事件进行统计,这里的事件是通过采样机制,并不是 clock 级别的统计;根据使用 perf 工具的不同按测量事 2024-08-05 Linux > 性能优化/调试 #Linux #Linux 命令 #性能优化/调试