1_____Linux技术_____
文章平均质量分 85
Linux内核、调试、操作等相关知识
花神庙码农
0、CSDN博客专家、Linux领域优质创作者,博客等级7级,原力等级9级、C社区(https://bbs.csdn.net/forums/C)的管理员。
1、《UNIX环境高级编程》 第三版 译者。
2、目前从事嵌入式相关开发,主要专注于TCP/IP协议栈、WIFI驱动、Linux内核等方面的工作。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Linux】【开发】一个由宏导致的结构体大小不一致问题分析过程小结
- 本文通过一个实际案例,说明了一个由宏导致的结构体大小不一致问题,并对此类问题的成因做一总结。原创 2026-04-28 09:00:00 · 439 阅读 · 4 评论 -
【译】弄清Linux上fork进程的真实(和组合)内存使用情况:并非易事
- 本文探讨了Linux系统中进程内存使用的精确计算方法。作者通过分析/proc文件系统下的多个指标(RSS、PSS、USS),揭示了不同内存统计方式的差异:RSS包含共享内存,PSS按比例计算共享内存,USS仅统计私有内存。文章以Java进程和systemd-journald为例,展示了实际应用中这些指标的计算方法和权限问题,指出在评估进程真实内存占用时需考虑共享内存的影响。最终结论是USS最能反映进程的私有内存使用情况。原创 2026-04-21 09:00:00 · 859 阅读 · 3 评论 -
【译】理解Linux中的/proc/[pid]/pagemaps和/proc/[pid]/maps:如何提取虚拟和物理页信息
- Linux系统通过`/proc`文件系统提供了强大的接口来检查进程级别的详细信息。在众多文件中,`/proc/[pid]/maps`和`/proc/[pid]/pagemaps`对于理解进程的内存布局以及虚拟内存和物理内存之间的映射关系至关重要。无论您是在调试内存泄漏、优化性能,还是分析内存使用模式,这些文件都提供了无与伦比的可见性,让您了解进程如何与系统内存交互。原创 2026-04-14 09:00:00 · 539 阅读 · 1 评论 -
【译】Linux进程内存管理
- 本文介绍了Linux系统中四种关键的内存测量指标:VSZ(虚拟内存大小)、RSS(常驻集大小)、PSS(比例集大小)和USS(唯一集大小)。VSZ表示进程可能访问的总内存,而RSS显示实际分配的RAM,但会重复计算共享库。PSS通过分摊共享库解决了这个问题,USS则只计算进程独占的内存。文章还演示了如何使用ps、top和smem工具查看这些指标,帮助用户更准确地评估进程内存使用情况。理解这些指标对于优化系统性能和内存管理至关重要。原创 2026-04-07 09:00:00 · 423 阅读 · 1 评论 -
【译】理解 Linux 的 /proc/pid/maps:解码嵌入式应用程序内存使用、列说明和匿名 Inode 0 条目
- 本文解析了Linux系统中/proc/pid/maps文件的结构与功能,重点探讨了该文件在嵌入式系统内存管理中的应用。文章详细介绍了文件的六列结构(地址范围、权限、偏移量、设备号、inode和路径名),并分类解释了常见内存区域类型,包括可执行代码段、数据段、堆栈和共享库等。特别深入分析了"匿名inode 0条目"的成因和作用,指出这些由mmap或malloc创建的匿名映射区域对理解动态内存分配至关重要。通过实际示例,文章展示了如何利用该文件诊断内存问题,优化嵌入式应用的RAM使用。原创 2026-03-24 09:00:00 · 930 阅读 · 4 评论 -
【译】Linux 进程内存
- 本文介绍了如何在Linux系统中检查进程内存。作者通过/proc文件系统访问进程内存信息,重点解析了maps和mem文件的作用。文章解释了Linux内存管理机制,包括虚拟内存和mmap系统调用的工作原理,并演示了如何定位可疑用户进程的内存数据。通过/proc/${pid}/maps可以查看进程内存映射,而mem文件则提供了实际内存内容,为系统管理员提供了检查进程内存的有效方法.原创 2026-03-17 09:00:00 · 456 阅读 · 2 评论 -
【译】列出附加到 Linux共享内存段的进程
- 本文介绍了在Linux系统中查看共享内存段及其附加进程的方法。首先使用ipcs -m命令列出所有共享内存段,获取目标段的shmid标识符。然后通过ipcs -m -i [shmid]查看特定内存段的详细信息,包括连接的进程数。最后用pstree -p [shmid]以树状结构显示附加到该内存段的进程及其PID。这些命令组合使用可以帮助开发者监控和管理进程间的共享内存通信。原创 2026-03-10 09:00:00 · 254 阅读 · 2 评论 -
【Linux】【开发】如何判断Linux的用户态及内核态是32位还是64位?
- 本文提供了多种实用命令来帮助开发者快速确认系统的位数状态,适用于ARM等不同架构的Linux系统。原创 2026-02-10 09:00:00 · 910 阅读 · 3 评论 -
【Linux】【操作】Linux操作集锦系列之十六——Linux环境下生成一个固定大小文件的方法
- 本文介绍了在Linux系统中生成指定大小文件(填充数字1)的多种方法。原创 2026-02-03 09:00:00 · 846 阅读 · 2 评论 -
Linux命令行玩转PDF:从查看编辑到加密的全流程指南
- 在Linux系统中,命令行工具往往比图形界面更高效,尤其对于批量处理或服务器环境下的PDF文档管理。本文将带你解锁Linux下PDF处理的实用技巧,从基础的查看操作到进阶的格式转换、内容编辑,再到安全加密,一套命令行工具就能搞定所有需求。原创 2026-01-27 09:00:00 · 1555 阅读 · 1 评论 -
【Linux】【开发】Ubuntu系统下OpenWrt编译环境的搭建
- 本文整理了如何在ubuntu系统下,搭建OpenWrt的编译环境。原创 2026-01-06 09:00:00 · 1953 阅读 · 4 评论 -
【Linux】【开发】hostapd串口不输出log的问题
- 本文分析了hostapd日志无法输出到串口的问题。通过源码分析发现,由于未开启相关宏配置,日志应通过printf输出,但实际被重定向到/dev/null。检查发现hostapd继承了父进程的标准IO设置。原创 2025-12-23 09:00:00 · 763 阅读 · 5 评论 -
【Linux】【操作】Linux下使用zstd进行压缩与解压缩操作
- 本文介绍 Linux 下 zstd 压缩解压缩的安装及文件目录操作方法。原创 2025-12-16 09:00:00 · 2423 阅读 · 3 评论 -
【Linux】【开发】gcc中的-pie和-fPIE选项
- 本文介绍了GCC编译器中的PIE(位置无关可执行文件)特性及相关选项。原创 2025-12-09 09:00:00 · 1037 阅读 · 3 评论 -
【Linux】【操作】Linux操作集锦系列之十五——如何破解pdf、doc、zip、rar等密码
- 本文介绍两款开源的密码破解工具John the Ripper和PDFCrack,用于破解PDF、Word、Excel、ZIP、RAR等文件的密码。John the Ripper支持字典和暴力破解两种模式,可以通过掩码自定义破解范围和长度,适用于多种加密算法。PDFCrack专注于PDF文件密码破解,提供字典攻击和暴力破解功能。文章详细说明了两种工具的使用方法,包括命令示例和参数说明。原创 2025-11-11 09:00:00 · 4373 阅读 · 7 评论 -
【Linux】【调试】gcc编译如何保留中间文件
-《GCC编译保留中间文件的方法》 本文介绍了在GCC编译过程中保留中间文件的两种实用方法。第一种是通过使用-E选项,配合-o参数将预处理结果输出到指定文件中(通常以.i为扩展名)。第二种是利用GCC 4.5引入的-save-temps机制,该选项能够保留预处理、编译和汇编阶段生成的所有中间文件(.i、.s、.o等),并支持与输出文件同目录存储。文章还特别说明了如何在Makefile和CMake中如何应用此技术。原创 2025-11-11 09:00:00 · 1010 阅读 · 3 评论 -
【Linux】Linux环境下硬编码检测方式小结
- 本文介绍了几种检测代码中硬编码敏感信息的方法: grep、hexdump、strings、hardcodes、detect-secrets。这些工具能有效帮助开发者发现和处理代码中的敏感信息硬编码问题,提升原创 2025-10-14 09:00:00 · 1226 阅读 · 2 评论 -
【Linux】【调试】gcc编译停止控制方式
- GCC编译出错时,如涉及多个编译错误,那么前后错误之间可能存在关联(比如少个括号、或者未包含某个头文件),此时,可考虑使用编译选项,控制编译在遇到第一个或累计多少个错误时,停止在出现错误的地方。本文就对这种场景的操作方式做一简要的说明。原创 2025-10-07 21:09:47 · 762 阅读 · 4 评论 -
【Linux】【开发】makefile中gcc -MMD及include *.d的使用
- 本文举例说明了gcc -MMD及include *.d的用法。原创 2025-09-23 09:00:00 · 1103 阅读 · 4 评论 -
【Linux】【上传工具】Linux系统命令行上传工具汇总
- 本文总结了Linux系统中常用的命令行文件上传工具,涵盖其特点、使用方法和适用场景。重点介绍了基于SSH的安全工具scp、rsync和sftp,以及传统ftp、多功能curl和高级lftp等工具的使用技巧。原创 2025-09-16 09:00:00 · 1227 阅读 · 3 评论 -
【Linux】【开发】如何获取Linux内核函数及其地址的映射关系
- 本文整理了在Linux环境下,获取内核函数及其对应地址的几种方法。原创 2025-05-06 09:00:00 · 1327 阅读 · 6 评论 -
【Linux】【操作】Linux操作集锦系列之十四——SSH远程Linux服务器执行命令的操作技巧汇总
- 本文整理了通过SSH远程Linux服务器执行命令的各种操作技巧。原创 2025-04-01 09:00:00 · 1961 阅读 · 40 评论 -
【Linux】【操作】Linux操作集锦系列之十三——Linux环境下获取进程信息、状态及占用资源的方法
- 本文整理了Linux环境下获取进程状态、占用资源、及各种相关信息的方法。原创 2025-03-18 08:30:00 · 1706 阅读 · 11 评论 -
【Linux】【操作】提高SCP传输速度的几个方法
- SCP(Secure Copy)是一种用于在Linux系统之间进行文件传输的协议,它基于SSH协议进行数据传输和身份验证。SCP使用加密的方式进行文件传输,因此在网络环境比较差的情况下,传输速度可能会比较慢。本文将整理几个提高SCP传输速度的方法。原创 2025-03-11 08:30:00 · 3373 阅读 · 8 评论 -
【Linux】【编译】automake 调试方法小结
- 由 automake 生成的规则和依赖树可能会相当复杂,当事情未按预期运行时,会让开发者感到困惑。除了 make 命令提供的调试选项(请参阅《GNU Make 手册》中的 “选项总结” 部分)之外,这里还有一些关于有效调试由 automake 生成的 makefile 的进一步提示。原创 2025-03-04 08:30:00 · 983 阅读 · 6 评论 -
【Linux】【操作】Linux操作集锦系列之十二——Linux环境下内核模块操作命令汇总
- 在 Linux 操作系统中,内核模块(Kernel Modules)堪称一大亮点。它允许用户在无需重新编译内核的情况下,动态地向内核添加新功能或对现有功能进行修改。这种灵活性极大地提升了系统的可定制性和适应性。而`insmod`、`rmmod`、`lsmod`、`depmod`、`modprobe`、`modinfo`、`kmod`等命令,正是管理这些内核模块的关键工具,熟练掌握它们,能让我们在 Linux 系统管理和开发中如鱼得水。接下来,让我们深入剖析这些命令的具体用法和特性。原创 2025-02-25 08:00:00 · 1720 阅读 · 5 评论 -
【Linux】【编译】cmake相关调试方法小结
- 你可能需要对你的 CMake 构建过程或你由cmake构建的的C/C++ 代码进行调试。本文将介绍这两种情况的操作方式。原创 2025-02-11 07:30:00 · 1383 阅读 · 2 评论 -
【Linux】【操作】Linux操作集锦系列之十一——Linux环境下如何在命令行中获取本机的公网IP
- 在 Linux 环境中,有时候我们需要在命令行获取本机的公网 IP 地址,例如进行网络配置、监控网络状态等。本文将为你介绍几种在 Linux命令行中获取公网 IP 的方法。原创 2025-02-04 09:59:31 · 1900 阅读 · 5 评论 -
【Linux】【开发】编译问题处理过程中常用的gcc选项
本文整理了Linux环境下处理编译问题过程中常用的gcc选项,可用于分析宏、头文件、符号等信息。原创 2025-01-14 08:30:00 · 1339 阅读 · 2 评论 -
【Linux】【操作】Linux操作集锦系列之十——Linux环境下加密shell脚本的方法汇总
-本文整理了shell脚本加密的各种方法。原创 2025-01-07 09:00:00 · 1810 阅读 · 3 评论 -
【Linux】【操作】Linux操作集锦系列之九——Linux环境下清空一个文件的几种方法
- 在Linux系统中,有多种方法可以清空文件的内容。本文整理了一些常见的方法。原创 2024-12-24 08:37:10 · 696 阅读 · 1 评论 -
【Linux】【开发】从一个编译问题的处理来看各种二进制工具(gcc -E、readelf等)的使用
- 从一个编译问题的处理来看各种二进制工具(gcc -E、readelf)及编译副产品o.cmd的使用方法。原创 2024-12-17 19:02:51 · 1421 阅读 · 6 评论 -
【Linux】【开发】Linux用户态程序如何实现类似dump_stack的功能之一——backtrace和backtrace_symbols
- 在Linux内核开发过程中,dump_stack 是一个非常常见的调试工具,它用于打印出当前的内核调用栈,帮助开发者在调试内核时了解程序的调用历史。然而,在用户态程序中,没有与内核一样的 dump_stack 函数,但我们希望可以实现类似的功能,通过调用栈追踪来调试应用程序。本文将介绍如何在Linux用户态程序中实现一个类似内核 dump_stack 的函数。原创 2024-12-03 08:00:00 · 1382 阅读 · 2 评论 -
【Linux】【开发】Linux用户态堆栈的大小限制
- 本文整理了通过命令、函数、proc文件等方式来查看或修改Linux用户态堆栈大小限制的方法,各位可根据实际的使用场景来选用不同的方式。原创 2024-11-26 08:00:00 · 1418 阅读 · 1 评论 -
【Linux】【开发】popen+fgets函数无法读取到命令输出的问题分析小结
- 有的命令在串口有输出,但是通过popen+fgets的方式,却读取不到任何数据。但有的命令则没有这个问题。本文对此进行了分析。原创 2024-11-19 07:00:00 · 1195 阅读 · 1 评论 -
【Linux】【开发】dump_stack导栈信息不准确问题浅析
- 本文简单分析了由于函数及gcc等因素的影响,导栈dump_stack的导栈信息不准确。本文对此进行了分析,并提出了一些解决方案。原创 2024-11-12 09:01:03 · 1387 阅读 · 3 评论 -
【Linux】【操作】Linux操作集锦系列之八——Linux环境下如何查看内存使用情况
- 在日常的开发和调试过程中,经常需要查看Linux环境的内存使用情况。本文将常用的方法做了简要的总结。原创 2024-10-08 07:00:00 · 1734 阅读 · 0 评论 -
【Linux】【操作】Linux操作集锦系列之七——Linux环境下如何查看CPU使用情况(利用率等)
- 在日常的开发和调试过程中,经常需要查看Linux环境的CPU利用率。本文将常用的方法做了简要的总结。原创 2024-10-01 09:21:20 · 1713 阅读 · 0 评论 -
【Linux】理解和解释shell命令的工具
- 本文分享了理解和解释shell命令的两个工具:explainshell网站和explain shell脚本。原创 2024-09-17 22:09:04 · 1013 阅读 · 0 评论 -
【C语言】【Linux】如何处理变量定义而未使用的编译告警(warning: unused variable ‘xxx’ [-Wunused-variable])
- 对于编译告警warning: unused variable ‘xxx’ [-Wunused-variable],本文做了简单的说明,并对其解决方法做了简单的整理。原创 2024-09-10 22:59:58 · 2446 阅读 · 1 评论
分享