`
gaopenghigh
  • 浏览: 245742 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Linux性能监控学习笔记

阅读更多
这是一篇读书笔记,读的是《Linux Permormance Monitoring》,oscon2009
营养价值并不大,只是做个记录而已。

Linux性能监控一般分为这几个方面:

1. CPU
2. Memory
3. IO
4. Network

这4个方面相互独立但又互影响。

性能监控常用工具:

* vmstat : 全能
* mpstat : CPU
* sar : 全能
* iostat : 磁盘
* netstat : 网络
* dstat : 聚合
* iptraf : 网络
* netperf : 带宽
* ethtool : 网络
* iperf : 网络
* tcptrace : 包分析


CPU

优先级:中断 > 内核进程 > 用户进程

上下文切换(Context Switches):CPU在各个进程间切换的过程。

运行队列(Run Queue):Linux通过一定的调度算法来运行各个进程,待运行的进程会存放在Run Queue里面,load的概念就是Run Queue的总长度加上正在运行的进程数。

CPU使用率:

* User Time : 用户空间的进程所使用的时间
* System Time : 内核进程所使用的时间
* Wait IO : 等待IO的时间
* Idle : 空闲时间


一些判断标准:

* 每个CPU核心的Run Queue不应该超过1~3
* CPU充分使用时,User Time约占65%~70%,System Time约占30%~35%, Idle约占0%~5%

例子1:cs很多,Interupt不高,Wait Time较高,说明进程普遍在等待硬件响应
例子2:cs不多,Interupt较高,User Time较高,说明某一个进程在等待硬件响应


Memory

内存以页(page)为单位,守护进程kswapd负责保证有空闲的内存可以用。
kswapd做如下的事:

* 页没有被修改,则把它放到空闲内存链表中;
* 页被修改,且对应于文件系统一个文件,则把它写入到磁盘;
* 页被修改,但不对应于文件系统中的文件,则把它写到swap设备;


pdflush守护进程负责把脏页同步到磁盘

对于内存的使用,只要保证不要用到swap即可。


IO

进程运行时需要的文件,如果没有在内存缓存中,则引发Major Page Fault(MPF),此时内核从磁盘中读取文件,并且缓存在内存中,下次需要同样的内容,则引发Minor Page Fault(MnPF),直接从内存中读取。

IO是计算机中最慢的部分。一般情况下,CPU的WaitTime较高,context switch明显多于interupt,说明系统的IO是瓶颈。

对于网络部分,主要是使用各种工具检测和设置网络参数。对于非局域网,网络环境非常复杂,需要具体分析。
2
2
分享到:
评论

相关推荐

    linux学习笔记,linux命令整理

    在Linux操作系统的学习中,掌握命令行的使用是至关重要的。...总的来说,Linux学习笔记是一个全面了解和掌握Linux系统操作的基础教程,涵盖了从基本命令到高级管理的诸多方面,对提升Linux技能有很大帮助。

    Linux与Ubuntu学习笔记

    同时,Linux提供了一系列工具用于性能监控,如top、htop、iotop等,这些工具在排查系统性能问题时非常有用。 总的来说,Linux与Ubuntu学习笔记涵盖了操作系统的基础知识、日常使用技巧、系统管理以及进阶开发和运维...

    linux学习基础笔记

    这份“Linux学习笔记.doc”文档可能会详细讲解以上各点,对于初学者来说是一份非常实用的学习资料。通过深入学习,你可以掌握Linux操作系统的核心技能,为后续的系统管理、开发或运维工作打下坚实基础。

    马哥的linux学习笔记

    《马哥的Linux学习笔记》是一份针对初学者和进阶者精心编撰的Linux教程,旨在帮助读者全面掌握Linux操作系统的核心概念、命令行操作以及系统管理技能。这份笔记以清晰明了的语言和实例解析了Linux系统的各个方面,是...

    linux性能调优.pdf

    本篇学习笔记详细介绍了性能分析的步骤、优化工具、性能指标的概念,并且从应用负载和系统资源两个角度深入探讨了性能优化。 在性能分析中,第一步是要选择合适的性能指标来评估应用和系统的性能。常见的性能指标...

    Linux下mysql学习笔记

    【Linux下MySQL学习笔记】 MySQL是一款广泛应用于互联网的开源关系型数据库管理系统,尤其在Linux操作系统上,其稳定性和性能表现尤为突出。本笔记主要针对在Linux环境下安装、配置、管理和优化MySQL的过程进行详解...

    linux学习笔记.docx

    - **重要性**:/var/log目录对于监控系统性能和安全性至关重要,可以帮助系统管理员快速定位问题。 17. **/var/spool** - **简介**:/var/spool目录用于存放打印队列、邮件队列等假脱机文件。 - **重要性**:这...

    linux运维手册学习笔记

    ### Linux运维手册学习笔记知识点概览 #### 一、Linux快速入门 **1.1 为什么要学习Linux** - **行业需求:** 在IT行业中,尤其是服务器领域,Linux因其开源、稳定、安全等特性被广泛使用。 - **技能提升:** 掌握...

    linux运维学习笔记:MySQL多实例配置实战.pdf

    4. 日志文件也需要独立管理,包括错误日志、查询日志和慢查询日志等,以便于问题追踪和性能监控。 5. 每个实例需要有独立的启动脚本,用以单独控制每个MySQL服务的启动、停止和重启等操作。 在配置过程中,有几个...

    Linux学习笔记(搬运).zip

    Linux学习笔记是一个包含丰富内容的资源包,专为那些希望深入了解和掌握Linux操作系统的人们设计。Linux是一种开源、自由的类UNIX操作系统,被广泛应用于服务器、嵌入式设备以及个人计算机上。本笔记将带你踏上Linux...

    linux笔记笔记笔记笔记

    1. **select多路复用**:在Linux中,select函数用于同时监控多个文件描述符,等待它们就绪以便进行I/O操作。这是早期的I/O复用模型,虽然效率不如后来的epoll等机制,但仍然是理解并发编程和网络编程的基础。 2. **...

    大数据Linux基础学习笔记

    以下是对"大数据Linux基础学习笔记"的相关知识点的详细说明: 一、Linux简介 Linux是一种自由和开放源代码的类UNIX操作系统,由Linus Torvalds在1991年创建。它提供了一个强大的命令行界面,支持多用户、多任务,且...

    Linux学习笔记资料

    这份"Linux学习笔记资料"涵盖了从基础到高级的全面内容,旨在帮助读者逐步成为Linux运维专家。 首先,Linux基础篇主要介绍了Linux的发展历史、系统安装,特别是CentOS的管理。通过这一部分的学习,你可以了解Linux...

    linux学习笔记,我自己做的

    Linux学习笔记概述 这是一份由个人制作的Linux学习笔记,旨在帮助初学者或有一定基础的用户深入理解和掌握Linux操作系统。作者坦诚地表示,由于自身能力限制,笔记可能存在不足之处,但他愿意与大家分享自己的学习...

    马哥linux手写笔记

    5. **系统管理**:包括系统的启动流程、init与Systemd的区别、系统日志查看、性能监控工具(如top、htop、iotop)的使用,以及如何进行系统优化。 6. **软件安装与管理**:Linux下的包管理工具,如apt(Debian/...

    尚观linux 学习笔记 1

    6. 其余的"ule_XX.txt"文件,按照顺序,可能分别涉及了Linux系统的基础操作(如文件和目录操作)、用户和组管理、系统管理工具、设备管理、系统日志、性能监控等内容。 通过这份学习笔记,读者可以逐步了解Linux...

    201808达内大数据Linux阶段学习课后笔记

    这份“201808达内大数据Linux阶段学习课后笔记”涵盖了Linux基础到高级应用的诸多方面,旨在帮助学习者深入理解Linux系统及其在大数据环境中的应用。 笔记首先可能会介绍Linux的基础知识,包括Linux的历史、哲学...

    这个资源是linux运维的学习笔记

    Linux运维学习笔记主要涵盖了一系列与Linux操作系统相关的基础知识和实用技能,包括系统选择、网络配置、命令行操作、网络服务管理、文件系统管理、文本编辑器的使用以及快捷键等。 首先,选择合适的Linux发行版是...

Global site tag (gtag.js) - Google Analytics