https://www.dbs724.com/133618.html

Linux gcore 是一种在Linux系统中使用命令行工具捕获进程内存内容的方法。它允许程序员制定程序的一个内存快照,从而帮助他们了解在特定时刻,程序的内部状态是什么状态。

通过生成一个进程的Core文件(也称为“内存快照”或“dump”),gcore可以提供深入的视角,从而帮助程序员更好地理解进程中发生的事情。这有助于他们解决性能,死锁和内存泄漏等问题,因为他们可以具体分析进程状态所面临的困难。

下面是一些gcore常用选项及其作用:

-e:指定进程所执行的命令,如果想要保留stdout和stderr的内容,这是必须的。

-p:指定要查看的进程的ID。

-o:指定要生成的文件的位置和名称。

-s:将程序的当前状态记录为ELF可执行文件,以使其他人可以进一步分析。

例如,命令:

gcore -e /bin/myprocess -p 12345 -o /tmp/dump.core -s /tmp/dump

可以生成进程ID(12345)相关的/bin/myprocess驻留内存的快照,将其存储在/tmp/dump.core处,以及一个ELF可执行状态的快照,存储在/tmp/dump处。被保存的程序的内存快照可以用于下载到另一台机器上(当然,这两台机器必须要遵循同一个操作系统),用于分析别的程序运行的状态,以及core文件可以用来分析崩溃的原因,检查内存泄漏等。

总而言之,使用Linux gcore,程序员可以捕获当前运行状态,以便深入检查崩溃原因或者其他相关问题。这种能力提供了深入理解程序状态的机会,有助于调试死锁和性能问题,从而提高程序的可用性和稳定性。

[转帖]解析Linux gcore: 揭示程序内存捕获的秘密(linuxgcore)的更多相关文章

  1. Linux下C程序内存泄露检测

    在linux下些C语言程序,最大的问题就是没有一个好的编程IDE,当然想kdevelop等工具都相当的强大,但我还是习惯使用kdevelop工具,由于没有一个习惯的编程IDE,内存检测也就成了在lin ...

  2. SHELL:Find Memory Usage In Linux (统计每个程序内存使用情况)

    转载一个shell统计linux系统中每个程序的内存使用情况,因为内存结构非常复杂,不一定100%精确,此shell可以在Ghub上下载. [root@db231 ~]# ./memstat.sh P ...

  3. 【Linux】应用程序内存段布局

    一.各段内存布局 内存布局图 1.BSS段(Block Started by Symbol)未初始化段 2.linux ELF base address is 0x8048000 应用程序虚拟地址起始 ...

  4. linux c++应用程序内存高或者占用CPU高的解决方案_20161213

    对于绝大多数实时程序来说,实时处理相关程序中的循环问题所带来的对机器的损耗和自身的处理速度的平衡,以及与其他程序的交互以及对其他功能的影响难免会成为程序设计中最大的障碍同时也是最大的突破点. 在所有这 ...

  5. [转帖] 学习 Linux 大页的内存知识

    一.在解释什么情况下需要开启大页和为啥需要开启大页前先了解下Linux下页的相关的知识:以下的内容是基于32位的系统,4K的内存页大小做出的计算1)目录表,用来存放页表的位置,共包含1024个目录en ...

  6. Linux 上 C 程序的内存布局

    在仔细研究这个问题之前,我认为 C 程序在内存中只有代码段,堆和栈三部分构成.前几天面试被问到了这个问题,才发现自己的印象是不完全的. 在本文中通过解析析一个 C 程序中变量和函数的地址来分析 C 程 ...

  7. Linux C程序内存空间

    linux下内存空间布置: 一个典型的Linux C程序内存空间由如下几部分组成: 代码段(.text).这里存放的是CPU要执行的指令.代码段是可共享的,相同的代码在内存中只会有一个拷贝,同时这个段 ...

  8. [转帖]Linux中buff/cache内存占用过高解决办法

    Linux中buff/cache内存占用过高解决办法 https://www.cnblogs.com/rocky-AGE-24/p/7629500.html /proc/sys/vm/drop_cac ...

  9. [转帖]linux下CPU、内存、IO、网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具

    linux下CPU.内存.IO.网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具 https://blog.51cto.com/hao360/1587165 linux_python关 ...

  10. Linux下C程序的内存映像

    2.Linux下C程序的内存映像 2.1. 代码段.只读数据段(1)对应着程序中的代码(函数),代码段在Linux中又叫文本段(.text)(2)只读数据段就是在程序运行期间只能读不能写的数据,con ...

随机推荐

  1. maven系列:依赖管理和依赖范围

    目录 一.依赖管理 使用坐标导入jar包 使用坐标导入 jar 包 – 快捷方式 使用坐标导入 jar 包 – 自动导入 二.依赖范围 三.可选依赖 四.排除依赖 一.依赖管理 使用坐标导入jar包 ...

  2. antd ui的from使用问题

    select 的allowClear失效问题 select的value与allowClear同时使用会导致allowClear失效 解决方法 from包装一层,通过const [form] = For ...

  3. 十八般武艺玩转GaussDB(DWS)性能调优(二):坏味道SQL识别

    摘要:那些会导致执行效率低下的SQL语句及其执行方式,我们称之为SQL中的"坏味道". ◆ 什么是SQL中的坏味道 SQL语言是关系型数据库(RDB)的标准语言,其作用是将使用者的 ...

  4. 软件界旷世之架:测试驱动开发(TDD)之争

    摘要:在软件行业中,神仙打架的名场面,那就不得不提的是2014年的那场--测试驱动开发(TDD)之争. 在历史上有很多精彩绝伦的神仙打架,比如数学界的牛顿和莱布尼茨关于微积分的旷世之争:比如量子物理中 ...

  5. 实时媒体AI,打破内容创作天花板,加速视频创新

    摘要:互联网视频经过几代发展,用户体验快速升级,对创新玩法.互动性要求越来越高.那如何解决这些问题? 媒体AI,是行业共识.华为云提供云原生实时媒体AI能力,联合伙伴打造AI算法开放生态市场,加速视频 ...

  6. STM32+华为云IoTDA,带你设计一个属于自己的动态密码锁

    摘要:设计一款物联网智能电子密码锁,以STM32单片机为主控制器,由触摸矩阵键盘.ESP8266.步进电机等模块组成,具有远程控制.随机密码生成等功能. 本文分享自华为云社区<STM32+华为云 ...

  7. 火山引擎 DataLeap 下 Notebook 系列文章三:架构升级详解

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 当使用 Notebook 的项目日渐增加时,火山引擎 DataLeap 研发团队发现运行中的 PaaS 服务实在太 ...

  8. Windows Service 服务中,不能访问挂载目录(网络映射盘)

    SpringBoot Windows 自启动 - 通过 Windows Service 服务实现 Windows Service 服务中,不能访问挂载目录(网络映射盘) 在Windows操作系统中,系 ...

  9. 如何优化k8s中HPA的弹性速率

    本文分享自华为云社区<K8s 核心资源指标HPA性能优化之路>,作者:可以交个朋友. 一 背景 以弹性指标为cpu.memory为例.在Kubernetes 1.7版本中引入了聚合层,允许 ...

  10. docker安装aira2 pro与ariang以及alist推送下载的配置

    Docker一键安装 aira2-pro: docker run -d --name aria2 --restart unless-stopped --log-opt max-size=1m -e P ...