码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • linux内核各方向资料贴


    目录

    ebpf相关资料收集

    linux应用及内核签名资料 

    Linux下基于签名技术的软件保护之实现流程

     内核热补丁及程序补丁

    Cgroup

    CPU 隔离


    收集工作中遇到的问题,及收集的资料,以便后续成文

    ebpf相关资料收集

     基于eBPF的AI Kernel观测_哔哩哔哩_bilibili  基于eBPF的AI Kernel观测

    linux应用及内核签名资料 

    主要解决安全启动问题

    Linux下基于签名技术的软件保护之实现流程

    中国软件杯 - ELF文件的签名与验证 | ningyuv's blog   也是一个赛题

    Linux下基于签名技术的软件保护之实现流程 - 知乎

    LSM BPF

    https://www.kernel.org/doc/html/latest/bpf/bpf_lsm.html

    涉及linux lsm模块。另外开源工具,支持校验加载模块:

     NUAA 的作品GitHub - NUAA-WatchDog/linux-elf-binary-signer: ✒️ Adding digital signature into ELF binary files.

     内核热补丁及程序补丁

    主要解决 在线内核的更新问题

    内核热补丁技术揭秘 - kk Blog —— 通用基础 (abcdxyzk.github.io)

    揭露内核黑科技 - 热补丁技术真容 (qq.com)

    Linux 4.1内核热补丁成功实践 - 知乎 (zhihu.com)  内核热补丁成功实践 ,讲述了top工具表现为bug,实际影响不大。及在线几万台服务器更新内核的步骤考虑。

    应用程序补丁 : 应用程序热补丁(一):几行代码构造免重启修复补丁_文化 & 方法_王超_InfoQ精选文章

     kpatch的具体实施  https://access.redhat.com/solutions/2206511

    新方法    sudo kpatch list   (可以列出有哪些热补丁信息,也就是说有单独热补丁的仓库,里面包括对应的热补丁包)
    Loaded patch modules:
    kpatch_3_10_0_1062_1_1 [enabled]

    Installed patch modules:
    kpatch_3_10_0_1062_1_1 (3.10.0-1062.el7.x86_64) 

    https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_monitoring_and_updating_the_kernel/applying-patches-with-kernel-live-patching_managing-monitoring-and-updating-the-kernel  RHEL 热补丁实战

     热补丁技术对比  https://mkyong.com/linux/an-introduction-to-kernel-live-patching-on-linux/

    https://www.kernelcare.com/  热补丁公司

    Cgroup

    主要资源隔离

    CPU  限额带来的应用高延时分析

    https://engineering.indeedblog.com/blog/2019/12/unthrottled-fixing-cpu-limits-in-the-cloud/  

    https://www.redhat.com/sysadmin/cgroups-part-one

      此系列分了四部分,详细讲解了 cgroups,读完及实践操作后,完全明了了。

    https://gitee.com/Tencent/tencentos-kernel   腾讯OS,主要关注他们对哪些点做了处理。

    https://blog.csdn.net/qq_15437629/article/details/114440930  内存错误检测工具-AddressSanitizer(ASAN)

    https://github.com/anbox/anbox  安卓模拟器
     

    CPU 隔离

    为那些依赖特定且通常对延迟或性能有极端要求的工作负载设置提供支持。

    目的: 也就是说隔离出来的核运行特定的任务,尽量减少系统中断带来的时延抖动。

    Linux低延迟服务器系统调优 - 知乎

    CPU 隔离:简介_硬件_Frederic Weisbecker_InfoQ精选文章

    这个系列的文章系统阐述了此功能。 

    性能测试

    LMbench - Tools for Performance Analysis (sourceforge.net)   it measures two key features: latency and bandwidth.  主要测试延时和带宽

    GitHub - raas/mbw: Memory Bandwidth Benchmark   内存带宽测试,工具比较简单,方便移植到其他架构上

    ./mbw 1000  问题,几种测试的带宽差异蛮大的,具体因为及哪个可以视为理论值?
    Long uses 8 bytes. Allocating 2*131072000 elements = 2097152000 bytes of memory.
    Using 262144 bytes as blocks for memcpy block copy test.
    Getting down to business... Doing 10 runs per test.
    0       Method: MEMCPY  Elapsed: 0.12366        MiB: 1000.00000 Copy: 8086.559 MiB/s
    1       Method: MEMCPY  Elapsed: 0.12259        MiB: 1000.00000 Copy: 8157.405 MiB/s
    2       Method: MEMCPY  Elapsed: 0.12563        MiB: 1000.00000 Copy: 7959.819 MiB/s
    3       Method: MEMCPY  Elapsed: 0.15079        MiB: 1000.00000 Copy: 6631.827 MiB/s
    4       Method: MEMCPY  Elapsed: 0.15097        MiB: 1000.00000 Copy: 6623.789 MiB/s
    5       Method: MEMCPY  Elapsed: 0.15204        MiB: 1000.00000 Copy: 6577.346 MiB/s
    6       Method: MEMCPY  Elapsed: 0.14639        MiB: 1000.00000 Copy: 6830.928 MiB/s
    7       Method: MEMCPY  Elapsed: 0.14832        MiB: 1000.00000 Copy: 6742.088 MiB/s
    8       Method: MEMCPY  Elapsed: 0.15085        MiB: 1000.00000 Copy: 6629.102 MiB/s
    9       Method: MEMCPY  Elapsed: 0.15019        MiB: 1000.00000 Copy: 6658.056 MiB/s
    AVG     Method: MEMCPY  Elapsed: 0.14214        MiB: 1000.00000 Copy: 7035.139 MiB/s
    0       Method: DUMB    Elapsed: 0.97909        MiB: 1000.00000 Copy: 1021.358 MiB/s
    1       Method: DUMB    Elapsed: 1.05770        MiB: 1000.00000 Copy: 945.443 MiB/s
    2       Method: DUMB    Elapsed: 1.08488        MiB: 1000.00000 Copy: 921.758 MiB/s
    3       Method: DUMB    Elapsed: 1.01668        MiB: 1000.00000 Copy: 983.597 MiB/s
    4       Method: DUMB    Elapsed: 0.98891        MiB: 1000.00000 Copy: 1011.210 MiB/s
    5       Method: DUMB    Elapsed: 0.81715        MiB: 1000.00000 Copy: 1223.769 MiB/s
    6       Method: DUMB    Elapsed: 0.88959        MiB: 1000.00000 Copy: 1124.108 MiB/s
    7       Method: DUMB    Elapsed: 0.83550        MiB: 1000.00000 Copy: 1196.884 MiB/s
    8       Method: DUMB    Elapsed: 0.84141        MiB: 1000.00000 Copy: 1188.481 MiB/s
    9       Method: DUMB    Elapsed: 1.10843        MiB: 1000.00000 Copy: 902.176 MiB/s
    AVG     Method: DUMB    Elapsed: 0.96194        MiB: 1000.00000 Copy: 1039.571 MiB/s
    0       Method: MCBLOCK Elapsed: 0.13688        MiB: 1000.00000 Copy: 7305.562 MiB/s
    1       Method: MCBLOCK Elapsed: 0.12809        MiB: 1000.00000 Copy: 7806.828 MiB/s
    2       Method: MCBLOCK Elapsed: 0.13086        MiB: 1000.00000 Copy: 7641.930 MiB/s
    3       Method: MCBLOCK Elapsed: 0.12915        MiB: 1000.00000 Copy: 7742.995 MiB/s
    4       Method: MCBLOCK Elapsed: 0.12508        MiB: 1000.00000 Copy: 7995.075 MiB/s
    5       Method: MCBLOCK Elapsed: 0.12820        MiB: 1000.00000 Copy: 7800.129 MiB/s
    6       Method: MCBLOCK Elapsed: 0.13012        MiB: 1000.00000 Copy: 7685.391 MiB/s
    7       Method: MCBLOCK Elapsed: 0.12442        MiB: 1000.00000 Copy: 8037.164 MiB/s
    8       Method: MCBLOCK Elapsed: 0.12386        MiB: 1000.00000 Copy: 8073.762 MiB/s
    9       Method: MCBLOCK Elapsed: 0.12892        MiB: 1000.00000 Copy: 7756.809 MiB/s
    AVG     Method: MCBLOCK Elapsed: 0.12856        MiB: 1000.00000 Copy: 7778.608 MiB/s
     

    Intel® Memory Latency Checker v3.9a  intel提供的内存延迟的测试工具

    odifies the H/W prefetch control MSR to enable/disable prefetchers for latency and b/w measurements. Refer readme documentation on running without root privileges  预取控制对带宽的影响。理论上讲打开预取可以更好的测试真实的带宽。

    Index of /stream/FTP/Code (virginia.edu) stram源码

    MEMORY BANDWIDTH: STREAM BENCHMARK PERFORMANCE RESULTS (virginia.edu)

    官网

    编译:

  • 相关阅读:
    man 命令的结构和含义
    C++:中的继承关系:单继承,多继承,菱形继承的详细介绍
    深入解析JavaScript中的变量作用域与声明提升
    算法竞赛进阶指南 搜索 0x24 迭代加深
    linux如何查看系统架构?(查看系统架构命令)
    跟着李老师学线代——矩阵(持续更新)
    react 中 ref 管理列表
    wind量化交易接口怎么用?
    Java学习笔记(十四)
    JVM从入门到入魔,这份JVM必知必会的完整版带你彻底玩懂JVM
  • 原文地址:https://blog.csdn.net/proware/article/details/126195423
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号