加入收藏 | 设为首页 | 会员中心 | 我要投稿 武汉站长网 (https://www.027zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

UNIX 系统日志 Linux复习笔记(7)

发布时间:2022-11-25 23:30:22 所属栏目:Unix 来源:转载
导读: 调试及性能分析 调试代码 打印调试法与日志
日志较普通的打印语句的优势:
第三方日志系统
对于UNIX系统来说,程序的日志通常存放在/var/log
大多数Linux系统都会使用systemd,这是一个系统

调试及性能分析 调试代码 打印调试法与日志

日志较普通的打印语句的优势:

第三方日志系统

对于UNIX系统来说,程序的日志通常存放在/var/log

大多数Linux系统都会使用systemd,这是一个系统守护进程。systemd会将日志以某种特殊格式存放于/var/log/journal,可以使用journalctl命令来显示这些消息。

大多数UNIX系统,可以使用dmesg命令来读取内核的日志

调试器

调试器是一种可以允许我们和正在执行的程序进行交互的程序,它能做到:

python的调试器是pdb

专门工具

当程序需要执行一些只有操作系统内核才能完成的操作时,它需要使用系统调用

在Linux中可以使用strace

静态分析

静态分析会将程序的源码作为输入然后基于编码规则对其进行分析并对代码的正确性进行推理。

性能分析

需要性能分析和监控工具,它们会帮助您找到程序中最耗时、最耗资源的部分,这样就可以有针对性的进行性能优化。

计时

真实时间、用户时间、系统时间

性能分析工具 CPU

CPU性能分析工具有两种:追踪分析器及采样分析器

内存

可以使用Valgrind这样的工具来检查内存泄漏的问题。

对于 Python 这类具有垃圾回收机制的语言,内存分析器也是很有用的,因为对于某个对象来说,只要有指针还指向它,那它就不会被回收。

事件分析

perf命令将CPU的区别进行了抽象,它不会报告时间和内存的消耗,而是报告与您的程序相关的系统事件。

可视化

对于采样分析器来说UNIX 系统日志,常见的显示CPU分析数据的形式是火焰图。火焰图同时还是可交互的,您可以深入程序的某一具体部分,并查看其栈追踪。

调用图和控制流图可以显示子程序之间的关系,它将函数作为节点并把函数调用作为边。

资源监控 专用工具

您只需要对黑盒程序进行基准测试,并依此对软件选择进行评估。 类似hyperfine这样的命令行可以帮您快速进行基准测试。

(编辑:武汉站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!