本文地址:https://www.ebpf.top/post/ftrace_tools TLDR,建议收藏,需要时查阅. 如果你只是需要快速使用工具来进行问题排查,包括但不限于函数调用栈跟踪.函数调用子函数流程.函数返回结果,那么推荐你直接使用 BCC trace 或 Brendan Gregg 封装的 perf-tools 工具即可,本文尝试从手工操作 Ftrace 跟踪工具的方式展示在底层是如何通过 tracefs 实现这些能力的.如果你对某个跟踪主题感兴趣,建议直接跳转到相关的主题查看.…
一.linux和os: 1.命令:netstat tcpdump ipcs ipcrm 这四个命令的熟练掌握程度基本上能体现实际开发和调试程序的经验 2.cpu 内存 硬盘 等等与系统性能调试相关的命令必须熟练掌握,设置修改权限 tcp网络状态查看 各进程状态 抓包相关等相关命令 必须熟练掌握 3.awk sed需掌握 4.共享内存的使用实现原理.然后共享内存段被映射进进程空间之后,存在于进程空间的什么位置?共享内存段最大限制是多少? 5.c++进程内存空间分布(注意各部分的内存地址谁高谁低,注…
Linux线上排查程序员实用指南 一.乱码问题 二.帮助指令 1. help命令 2. man命令 3. info命令 三.性能监测与优化 1. top命令 参考资源 Linux线上排查程序员实用指南 一.乱码问题 1.Linux系统编码 有时候你会发现linux系统打印出来的文字是乱码,一般是要么是你连接Linux的终端编码有问题,或者是linux系统编码设置不对 (1)执行locale命令查看系统语言 [root@localhost /]# locale LANG=zh_CN.GBK LC_…
sed是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有改变,除非你使用重定向存储输出.Sed主要用来自动编辑一个或多个文件:简化对文件的反复操作:编写转换程序等.以下介绍的是Gnu版本的Sed 3.02.   2. 定址   可以通过定址来定位你所希望编辑的行,该地址用数字构成,用逗号分隔…
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. nc,全名叫 netcat,它可以用来完成很多的网络功能,譬如端口扫描.建立TCP/UDP连接,数据传输.网络调试等等,因此,它也常被称为网络工具的 瑞士军刀 . 使用方式 我们可以这样来使用它: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port] [-s…
前言 对于一名专业的程序员来说,Linux相关知识是必须要掌握的,其中对于文本的处理更是我们常见的操作,比如格式化输出我们需要的数据,这些数据可能会来源于文本文件或管道符,或者统计文本里面我们需要的数据出现的频次以及总数等等.那么这时候awk就很值得我们去学习了. 正文 在Linux中,awk.sed.grep被称为“三剑客”,都跟文本操作有关,那他们各自有什么特点呢? grep:适合用于单纯的查找与匹配.sed:适合修改匹配到的文本.awk:适合对文本进行复杂的格式化处理. 所以awk是一种文…
目录 01 简介 02 tcpdump 命令选项 03 过滤器 04 常用操作 4.1 抓取某主机的数据包 4.2 抓取某端口的数据包 4.3 抓取某网络(网段)的数据包 4.4 抓取某协议的数据包 4.5 复杂的逻辑表达式抓取过滤条件 05 与 wireshark.Snort 等工具的结合 06 tcpdump 的输出格式 06 总结 本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家…
Linux 对我们的生活产生了巨大的冲击.至少你的安卓手机使用的就是 Linux 核心.尽管如此,在第一次开始使用 Linux 时你还是会感到难以下手.因为在 Linux 中,通常需要使用终端命令来取代 Windows 系统中的点击启动图标操作.但是不必担心,这里我们会介绍 10 个 Linux 基本命令来帮助你开启 Linux 神秘之旅. 帮助新手走出第一步的 10 个 Linux 基本命令 当我们谈论 Linux 命令时,实质上是在谈论 Linux 系统本身.这短短的 10 个 Linux…
JDK中有很多用于监控诊断的系统工具,对于Java程序员来说,无疑是用来了解自己程序运行时性能好坏的强大工具. 在JDK的bin目录下就可以找到这些工具. JPS 在Linux有一个命令叫做ps,可以查看系统当前所有的进程,而JDK提供的jps也是类似,查看正在运行的Java进程. 可以看到该命令的参数. 在默认情况下,jps的输出信息包括Java进程的进程ID以及主类名. 我们还可以通过追加参数,来打印额外的信息. 例如,-l将打印模块名以及包名: -v将打印传递给 Java 虚拟机的参数(如…
弱者,是没有资格要求公平的. --<秦时明月>卫庄 参考文献: http://www.ruanyifeng.com/blog/2018/11/awk.html 阮一峰 https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html https://man.linuxde.net/awk awk是一种优良的文本处理工具,linux及unix环境中现有的功能最强大的数据处理引擎之一. awk提供了极其强大的功能:可以进行正则表达式…