一,Vmpressure

Vmpressure Monitor,通过Epoll将监听的memory.pressure_level(这里的eventfd建立三个fd,分别监听三个内存压力等级)和对应的level写入到cgroup.event_contro来监听vmpressure事件。当有事件上报时会去遍历三个fd拿到当前最高的level,作为系统最终的内存压力level。随后在mp_event_common函数中通过对应压力设置的对应的adj值(low即ro.lmk.low的属性值;medium即ro.lmk.medium的属性值,而criticl即ro.lmk.critical的属性值)来作为查杀的adj,随后通过解析zoneinfo和meminfo来再一次过滤是否处理当前的压力事件。比如通过计算类似于swappinness的比值来决定当前的内存压力是否需要处理。

/system/memory/lmkd/lmkd.cpp

3101  static bool init_monitors() {
......
3106      if (!use_psi_monitors &&
3107          (!init_mp_common(VMPRESS_LEVEL_LOW) ||
3108          !init_mp_common(VMPRESS_LEVEL_MEDIUM) ||
3109          !init_mp_common(VMPRESS_LEVEL_CRITICAL))) {
.....
3119  }

二,PSI

PSI Monitor通过epoll监听/proc/pressure/memory上报的压力事件当有内存压力事件上报后,会通过处理事件为mp_event_common(

【LMKD】九 lmkd进程查杀规则相关推荐

  1. 【Linux 僵尸进程查杀】 Linux 进程查看,查杀,查询,查询用户归属,stopped、zombie查杀

    一.用top能够查看僵尸进程数量 二.自动查杀 ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}' | xargs kill ...

  2. shutdown immediate 太慢,需要进行进程查杀

    问题引出:测试环境,进行oralce的shutdown immediate,等待时间很长,长的无法等待 ORACLE shutdown 过程: 1.shutdown normal(正常关闭方式):阻止 ...

  3. db2 查杀死锁进程

    db2 查杀死锁进程 db2 get snapshot for locks on <dbname>   (需要snapshot的访问权限) db2 list applications db ...

  4. windows下根据端口号查杀进程脚本(BAT脚本)

    使用方法如下: 修改脚本中的端口号,将文件存为.bat,然后双击即可运行!* 脚本代码如下,将8067修改为你需要杀掉的端口号即可: @echo off & setlocal EnableDe ...

  5. linux stopped 进程,linux 查杀 stopped 进程

    原标题:linux 查杀 stopped 进程 来源:潇湘隐者 , www.cnblogs.com/kerrycode/p/9254488.html 在Linux系统下面,top命令可以查看查看sto ...

  6. linux stopped 进程,Linux运维知识之Linux查杀stopped进程

    本文主要向大家介绍了Linux运维知识之Linux查杀stopped进程,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 在Linux系统下面,top命令可以查看查看stoppe ...

  7. linux如何查进程、杀进程,重启进程

    linux如何查进程.杀进程,重启进程 1.查进程 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括其他用户的程序. ps -A 显示所有程序. ps c 列出程序时,显 ...

  8. 病毒木马查杀实战第009篇:QQ盗号木马之手动查杀

    前言 之前在<病毒木马查杀第002篇:熊猫烧香之手动查杀>中,我在不借助任何工具的情况下,基本实现了对于"熊猫烧香"病毒的查杀.但是毕竟"熊猫烧香" ...

  9. 病毒木马查杀的问与答

    1 哪种类型病毒难以处理 感染性的病毒,因为这种病毒会破坏文件系统,而如果要恢复文件系统就需要对病毒进行逆向分析.如果是普通的病毒感染,不需要进行逆向分析,就可以编写出来专杀软件. 2 对病毒进行分析 ...

最新文章

  1. David与Vincent的博弈游戏[树型DP]
  2. 20172318 2017-2018-2 《程序设计与数据结构》实验3报告
  3. 【自由随想录(一)】
  4. 网络获取json数据并解析
  5. python 人工智能课程大纲_《人工智能》教学大纲
  6. (转)Android ViewGroup的onInterceptTouchEvent()事件分析
  7. php make test 作用,larablog 系列文章 06 - 测试:使用 PHPUnit 进行单元和功能测试
  8. 测试用例组织结构_用例和组织结构
  9. 鸿蒙轻内核M核源码分析:中断Hwi
  10. Linux环境下源码编译方式安装MySQL5.1(1)
  11. jdbc连接mysql驱动包_jdbc连接数据库驱动包
  12. PyCharm无法找到已安装的Python类库的解决方法
  13. 青蛙学Linux—CentOS 6.10的安装
  14. 程序员都需要会的JVM调优总结 -Xms -Xmx -Xmn -Xss,附idea配置实战(程序员必学)
  15. 计算机网络 之 P2P架构
  16. 单身的程序猿伤不起,在神棍节感慨下
  17. net core 微服务 快速开发框架 Viper 初体验
  18. 操作系统常见面试总结
  19. 推特php博客,实例代码:使用PHP调用Twitter的RSS
  20. Unity 打包APK 适配全面屏、刘海屏、水滴屏、挖孔屏

热门文章

  1. PostgreSQL查询表名称及表结构
  2. 傲游网络安全浏览器最新发布,四大企业结安全联盟
  3. MYSQL必知必会,详尽入门,一文帮你学会SQL必知必会
  4. 实现信用卡用户定时还款功能
  5. vscode如何选择写HTML还是css,什么是HTML和CSS,vscode编辑器
  6. 简单实现 子窗体关闭后 刷新父窗体的DataGridView控件数据
  7. Python-灰度图像增强(持续更新)
  8. 古希腊神话故事:洪水
  9. 如何使用screen托管终端程序(妈妈再也不用担心我在家还不学习了系列四)
  10. windows上安装netcat