Git Product home page Git Product logo

linux-perf-examples's Introduction

《Linux 性能优化实战》案例

极客时间专栏《Linux 性能优化实战》案例源码。

introduction

部分案例列表

依赖环境

所有案例的编译运行都需要预先安装 Docker 以及必要的编译工具。以 Ubuntu 18.04 为例,可以运行以下命令来安装它们:

sudo apt-get install docker.io build-essential

linux-perf-examples's People

Contributors

bachue avatar feiskyer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

linux-perf-examples's Issues

[confused] About Memory Analyze

Env:
kernel 3.10
os centos7

Description:
倪前辈,我在学习了贵专栏后解决实际问题过程中遇到了无从分析OOM的问题,还请老师指教思路

lALPDgQ9rB2KZT3NAt7NBt0_1757_734
我的思路如下:

  1. 观察到在kernel cgroup代码中达到memory限制,查看memory组成
  2. 查阅得知memory由rss + cache 组成,但是由图上得知cgroup对应进程和子进程的rss+cache 也未达到6291456KB,于是猜测如下
  • 有尚未分析出的内存组成部分(好像加上kernel memory刚刚好)
    -kmem为啥这么高???泄漏?(但未在对应版本发现kernel memory leak bug)
  • total-vm????

还望倪前辈指教一二

prometheus dashboard with USE priciple

i am sorry to communicate with you in such a way,this is the only way i can found,i will use chinese following for convenience

在 极客时间 订阅了您的 linux 性能优化专栏,受益匪浅。

最近有个想法,在做性能监控时,一般会按照 USE的原则来实施,最近也刚接触到prometheus监控系统,参考过一些其他人的监控模板,链接如下:https://grafana.com/dashboards/8919 ,但是这个dashboard看起来并没有按照 USE的原则来组织。

因为了解到您也参与到kubernet的社区中,prometheus和kubernet联系也比较紧密,所以才 冒昧的向您 请教,不知道 您 那边是否有更好的类似的监控模板? 或者您有其他更好的建议。(目标是 在回溯性能问题时,能够直观的判断出原因)

我相信这个如果有个比较权威的模板供参考,会节省不少相关技术人员的时间。不胜感激!

OOM killer基于虚拟内存?

@feiskyer 你好, 在<<Linux性能优化实战>> 22讲,有人提问: OOM 是按照虚拟内存还是实际内存来打分?

你的回答是:

OOM 触发的时机基于虚拟内存。换句话说,进程在申请内存时,如果申请的虚拟内存加上服务器实际已用的内存之和,比总的物理内存还大,就会触发OOM。

这个回答应该是错误的,Linux本身就采用延迟分配的策略,申请的虚拟内存并不能等于实际物理内存,OOM的计数规则应该是对应实际的物理内存. 之前自己总结过一篇博客关于Linux内核源码分析-理解cgroup内存资源控制,在里面分析了关于分配访问文件分配物理Page的cgroup计数,只有在page_alloc()申请物理页成功的情况下,cgroup才成功计数, 所以OOM killer应该是基于物理内存的,而不是虚拟内存.

我的分析:
OOM killer是基于虚拟内存还是物理内存?

关于火焰图使用问题

linux机器上下载安装了perf后,需要将要监测的应用的源码也放到相应目录吗?不然火焰图上能出现应用内的方法吗?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.