美文网首页
Linux稳定性知识体系

Linux稳定性知识体系

作者: Sparky | 来源:发表于2022-01-29 15:30 被阅读0次

    Linux稳定性知识体系

    这个知识体系的话是嵌入到我对于稳定性问题的理解上来讲的,具体来说就是稳定性的知识体系是如何运用到我们的工作中的。

    主要也是对这段时间工作的认识和总结

    概述

    什么是稳定性问题(是什么)

    影响系统稳定,导致系统出现问题的问题。

    从现象上来说,不能确定是问题模块,或者非必现的模块问题

    扩展 -》 什么问题都可以指给稳定性,殴打稳定性,简单来说就是其他模块解决不了的或不愿意解决的就是稳定性问题

    一般来说问题最终的根本原因总会落在一个具体的模块,我们要做的就是分析出问题根因,或指出相关模块,尽可能给出解决意见

    常见问题(做什么)

    死机重启问题

    一般是系统发生dump,一般要结合db log, kernel log,mobile log分析问题根因

    原生代码问题

    Android原生代码也是有bug的,因为这部分代码没人动,也就很少有人研究。最后又归到稳定性上。

    这种问题可能要修改镜像调试

    性能问题

    有时性能问题也会归到稳定性上,例如正常情况下某应用启动很快,在某种情况下启动很慢,这很可能就是性能导致的。我认为性能问题和稳定性问题不能混为一谈,二者的分析方法有很大差别。

    这种问题一般要结合工具进行调试

    非必现问题或者不知道怎么复现的问题

    这种问题还可能伴随着抓不到log等问题,有的时候比较难跟进

    没人愿意深入研究的问题

    各模块都不承认是自己的问题,相互扯皮。因为没有人从系统角度上来分析问题,也不进行深入研究,觉得还是归到稳定性好些

    如何处理(怎么做)

    对于Linux稳定性问题,一般来说,先根据log分析问题原因,如果原因不太清晰,就需要结合工具进行调试,如果怀疑某些模块有问题,可能还要修改相关模块并验证,最后如果还是没有思路,就要寻求帮助了

    分析

    分析问题,需要对linux的基本的工作机制有一定的了解,例如

    进程管理
    进程调度
    内存管理
    文件系统

    调试

    crash,ftrace,kmemleak,kprobe,kgdb,trace32,perf,procfs,sysfs,debugfs

    gdb,strace,ltrace,Valgrind,gprof,mtrace,iperf,blktrace,fio

    验证

    通常我们需要增加log或者修改代码去验证问题

    我们需要对Linux应用开发有相关了解

    系统调用
    IPC通信
    进程和线程
    常用的库

    辅助系统的工作原理

    Bootloader
    Recovery
    DTB
    busybox

    相关文章

      网友评论

          本文标题:Linux稳定性知识体系

          本文链接:https://www.haomeiwen.com/subject/vkqfkrtx.html