这是一篇读书笔记,读的是《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是瓶颈。
对于网络部分,主要是使用各种工具检测和设置网络参数。对于非局域网,网络环境非常复杂,需要具体分析。
分享到:
相关推荐
《马哥的Linux学习笔记》是一份针对初学者和进阶者精心编撰的Linux教程,旨在帮助读者全面掌握Linux操作系统的核心概念、命令行操作以及系统管理技能。这份笔记以清晰明了的语言和实例解析了Linux系统的各个方面,是...
在Linux操作系统的学习中,掌握命令行的使用是至关重要的。...总的来说,Linux学习笔记是一个全面了解和掌握Linux系统操作的基础教程,涵盖了从基本命令到高级管理的诸多方面,对提升Linux技能有很大帮助。
同时,Linux提供了一系列工具用于性能监控,如top、htop、iotop等,这些工具在排查系统性能问题时非常有用。 总的来说,Linux与Ubuntu学习笔记涵盖了操作系统的基础知识、日常使用技巧、系统管理以及进阶开发和运维...
这份“Linux学习笔记.doc”文档可能会详细讲解以上各点,对于初学者来说是一份非常实用的学习资料。通过深入学习,你可以掌握Linux操作系统的核心技能,为后续的系统管理、开发或运维工作打下坚实基础。
本篇学习笔记详细介绍了性能分析的步骤、优化工具、性能指标的概念,并且从应用负载和系统资源两个角度深入探讨了性能优化。 在性能分析中,第一步是要选择合适的性能指标来评估应用和系统的性能。常见的性能指标...
【Linux下MySQL学习笔记】 MySQL是一款广泛应用于互联网的开源关系型数据库管理系统,尤其在Linux操作系统上,其稳定性和性能表现尤为突出。本笔记主要针对在Linux环境下安装、配置、管理和优化MySQL的过程进行详解...
- **重要性**:/var/log目录对于监控系统性能和安全性至关重要,可以帮助系统管理员快速定位问题。 17. **/var/spool** - **简介**:/var/spool目录用于存放打印队列、邮件队列等假脱机文件。 - **重要性**:这...
### Linux运维手册学习笔记知识点概览 #### 一、Linux快速入门 **1.1 为什么要学习Linux** - **行业需求:** 在IT行业中,尤其是服务器领域,Linux因其开源、稳定、安全等特性被广泛使用。 - **技能提升:** 掌握...
Linux的学习笔记中详细记录了关于Linux操作系统的各种知识点。首先,了解Linux的起源和发展是基础,从最早的内核编写到如今的成熟操作系统,Linux经历了多次版本更新,不同的版本在功能和性能上有所差异。Linux的...
4. 日志文件也需要独立管理,包括错误日志、查询日志和慢查询日志等,以便于问题追踪和性能监控。 5. 每个实例需要有独立的启动脚本,用以单独控制每个MySQL服务的启动、停止和重启等操作。 在配置过程中,有几个...
Linux学习笔记是一个包含丰富内容的资源包,专为那些希望深入了解和掌握Linux操作系统的人们设计。Linux是一种开源、自由的类UNIX操作系统,被广泛应用于服务器、嵌入式设备以及个人计算机上。本笔记将带你踏上Linux...
1. **select多路复用**:在Linux中,select函数用于同时监控多个文件描述符,等待它们就绪以便进行I/O操作。这是早期的I/O复用模型,虽然效率不如后来的epoll等机制,但仍然是理解并发编程和网络编程的基础。 2. **...
以下是对"大数据Linux基础学习笔记"的相关知识点的详细说明: 一、Linux简介 Linux是一种自由和开放源代码的类UNIX操作系统,由Linus Torvalds在1991年创建。它提供了一个强大的命令行界面,支持多用户、多任务,且...
这份"Linux学习笔记资料"涵盖了从基础到高级的全面内容,旨在帮助读者逐步成为Linux运维专家。 首先,Linux基础篇主要介绍了Linux的发展历史、系统安装,特别是CentOS的管理。通过这一部分的学习,你可以了解Linux...
Linux学习笔记概述 这是一份由个人制作的Linux学习笔记,旨在帮助初学者或有一定基础的用户深入理解和掌握Linux操作系统。作者坦诚地表示,由于自身能力限制,笔记可能存在不足之处,但他愿意与大家分享自己的学习...
5. **系统管理**:包括系统的启动流程、init与Systemd的区别、系统日志查看、性能监控工具(如top、htop、iotop)的使用,以及如何进行系统优化。 6. **软件安装与管理**:Linux下的包管理工具,如apt(Debian/...
6. 其余的"ule_XX.txt"文件,按照顺序,可能分别涉及了Linux系统的基础操作(如文件和目录操作)、用户和组管理、系统管理工具、设备管理、系统日志、性能监控等内容。 通过这份学习笔记,读者可以逐步了解Linux...
这只是Linux学习笔记的冰山一角。Linux系统还包括包管理、网络配置、进程管理、权限控制、脚本编程等多个方面。熟练掌握这些基本命令和概念是成为Linux高手的第一步。随着经验的积累,你还可以学习更高级的主题,如...
这份“201808达内大数据Linux阶段学习课后笔记”涵盖了Linux基础到高级应用的诸多方面,旨在帮助学习者深入理解Linux系统及其在大数据环境中的应用。 笔记首先可能会介绍Linux的基础知识,包括Linux的历史、哲学...