linux系统调优.docx
- 文档编号:2977517
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:17
- 大小:26.94KB
linux系统调优.docx
《linux系统调优.docx》由会员分享,可在线阅读,更多相关《linux系统调优.docx(17页珍藏版)》请在冰豆网上搜索。
linux系统调优
内核的四大子系统,调优时依据这四方面来调整。
1、CPU控制
2、内存控制
3、I/O控制
4、网络控制(io的分支)
这些子系统之间关系是相互彼此依赖的,任何一个高负载都会导致其他子系统出现问题.比如:
1、大量的页调入请求导致内存队列的拥塞
2、网卡的大吞吐量可能导致更多的CPU开销
3、大量的CPU开销又会尝试更多的内存使用请求
4、大量来自内存的磁盘写请求可能导致更多的CPU以及IO问题
确定服务应用类型:
1、IO密集型数据库是典型应用(mysqloracle)
2、CPU密集型网站(动态)、mail、批量处理
调优的原则:
●系统性能调优原则
○目的明确
○领域明确
○最小改动
○多元化分析测试
○调校工具选择
○制定最后期限
●技术选型原则
○没有文档或文档不清楚不用
○不绑在一个平台上
○用熟悉的技术比用新技术保险
○不做小白鼠
●性能评估指标
○响应时间
○吞吐率
○资源利用率
常用的调优命令:
#echo1>/proc/sys/vm/drop_caches--清空缓存
top
top[-][d][p][q][c][C][S][s][n]
1、参数说明
d指定每两次屏幕信息刷新之间的时间间隔。
当然用户可以使用s交互命令来改变之。
p通过指定监控进程ID来仅仅监控某个进程的状态。
q该选项将使top没有任何延迟的进行刷新。
如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S指定累计模式
s使top命令在安全模式中运行。
这将去除交互命令所带来的潜在危险。
i使top不显示任何闲置或者僵死进程。
c显示整个命令行而不只是显示命令名
2、其他扩展参数:
下面介绍在top命令执行过程中可以使用的一些交互命令。
从使用角度来看,熟练的掌握这些命令比掌握选项还重要一些。
这些命令都是单字母的,如果在命令行选项中使用了s选项,则可能其中一些命令会被屏蔽掉。
Ctrl+L擦除并且重写屏幕。
h或者?
显示帮助画面,给出一些简短的命令总结说明。
k终止一个进程。
系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。
一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。
默认值是信号15。
在安全模式中此命令被屏蔽。
i忽略闲置和僵死进程。
这是一个开关式命令。
q退出程序。
r重新安排一个进程的优先级别。
系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。
输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。
默认值是10。
S切换到累计模式。
s改变两次刷新之间的延迟时间。
系统将提示用户输入新的时间,单位为s。
如果有小数,就换算成ms。
输入0值则系统将不断刷新,默认值是5s。
需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。
f或者F从当前显示中添加或者删除项目。
o或者O改变显示项目的顺序。
l切换显示平均负载和启动时间信息。
m切换显示内存信息。
t切换显示进程和CPU状态信息。
c切换显示命令名称和完整命令行。
M根据驻留内存大小进行排序。
P根据CPU使用百分比大小进行排序。
T根据时间/累计时间进行排序。
W将当前设置写入~/.toprc文件中。
这是写top配置文件的推荐方法。
swap
swapon-s
cat/proc/swaps
mkswap
swapon/dev/xxx
制作并行化/条带化swap
vmstat命令详解
$vmstat
procs-----------memory------------swap-------io------system-------cpu------
rbswpdfreebuffcachesisobiboincsussyidwast
20881995641348601175252000352932310496868500
procs
r列表示运行和等待cpu时间片的进程数,如果长期大于CPU的个数,说明cpu不足,需要增加cpu。
b列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。
memory
swpd切换到内存交换区的内存数量(k表示)。
如果swpd的值不为0,或者比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常
free当前的空闲页面列表中内存数量(k表示)
buff作为buffercache的内存数量,一般对块设备的读写才需要缓冲。
cache:
作为pagecache的内存数量,一般作为文件系统的cache,如果cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文件系统效率比较好。
swap
si由内存进入内存交换区数量。
so由内存交换区进入内存数量。
IO
bi从块设备读入数据的总量(读磁盘)(每秒kb)。
bo块设备写入数据的总量(写磁盘)(每秒kb)
这里我们设置的bi+bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。
system显示采集间隔内发生的中断数
in列表示在某一时间间隔中观测到的每秒设备中断数。
cs列表示每秒产生的上下文切换次数,如当cs比磁盘I/O和网络信息包速率高得多,都应进行进一步调查。
cpu表示cpu的使用状态
us列显示了用户方式下所花费CPU时间的百分比。
us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。
sy列显示了内核进程所花费的cpu时间的百分比。
这里us+sy的参考值为80%,如果us+sy大于80%说明可能存在CPU不足。
wa列显示了IO等待所占用的CPU时间的百分比。
这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)。
id列显示了cpu处在空闲状态的时间百分比
vmstat命令输出分成六个部分:
(1)进程procs:
r:
在运行队列中等待的进程数。
b:
在等待io的进程数。
(2)内存memoy:
swpd:
现时可用的交换内存(单位KB)。
free:
空闲的内存(单位KB)。
buff:
缓冲去中的内存数(单位:
KB)。
cache:
被用来做为高速缓存的内存数(单位:
KB)。
(3)swap交换页面
si:
从磁盘交换到内存的交换页数量,单位:
KB/秒。
so:
从内存交换到磁盘的交换页数量,单位:
KB/秒。
(4)io块设备:
bi:
发送到块设备的块数,单位:
块/秒。
bo:
从块设备接收到的块数,单位:
块/秒。
(5)system系统:
in:
每秒的中断数,包括时钟中断。
cs:
每秒的环境(上下文)切换次数。
(6)cpu中央处理器:
cs:
用户进程使用的时间。
以百分比表示。
sy:
系统进程使用的时间。
以百分比表示。
id:
中央处理器的空闲时间。
以百分比表示。
mpstat介绍
mpstat是MultiprocessorStatistics的缩写,是实时系统监控工具。
其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。
在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。
mpstat的语法如下:
mpstat[-P{|ALL}][internal[count]]
参数的含义如下:
参数解释
-P{|ALL}表示监控哪个CPU,cpu在[0,cpu个数-1]中取值
delay相邻的两次采样的间隔时间
count采样的次数,count只能和delay一起使用
CPUall表示统计所有CPU信息的平均值。
user在监控的时间间隔内,用户级进程(运用程序)占用的CPU时间百分比。
nice在监控的时间间隔内,nice值为负的用户级进程所占用的CPU时间百分比。
system在监控的时间间隔内,系统及进程(内核)占用的CPU使用率。
该时间包括了系统处理软、硬中断所花的时间。
iowait在监控的时间间隔内,等待硬盘I/O的时间,CPU的闲置时间百分比。
steal管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟CPU的百分比
idle在监控的时间间隔内,CPU闲置时间所占用的时间百分比,不包括等待磁盘IO请求的时间
irq在监控的时间间隔内,CPU服务硬中断的所占的时间百分比
soft在监控的时间间隔内,CPU服务软中断的所占的时间百分比
intr/s表示在某一时间间隔中观测到的设备每秒中断数
其中最重要的字段是%idle,%iowait。
如果%idle说明CPU的负载不高。
如果%iowait,说明存在I/O竞争。
也可以使用输出重定向保存mpstat对CPU的监控数据,用作CPU历史使用率分析。
实例:
$mpstat1--查看所有的CPU的平均负载
Linux2.6.18-238.12.1.el5PAE(datingdb01)05/07/2012
08:
23:
50PMCPU%user%nice%sys%iowait%irq%soft%steal%idleintr/s
08:
23:
51PMall0.000.000.000.000.000.060.0099.941027.00
08:
23:
52PMall0.000.000.000.000.000.000.00100.001021.00
$mpstat-PALL1--分别查看所有CPU的负载
Linux2.6.18-238.12.1.el5PAE(datingdb01)05/07/2012
08:
21:
22PMCPU%user%nice%sys%iowait%irq%soft%steal%idleintr/s
08:
21:
23PMall0.000.000.000.000.000.000.00100.00994.06
08:
21:
23PM00.000.000.000.000.000.000.00100.00992.08
08:
21:
23PM10.000.000.000.000.000.000.00100.000.00
08:
21:
23PM20.000.000.000.000.000.000.00100.000.00
08:
21:
23PM30.000.000.000.000.000.000.00100.000.00
08:
21:
23PM40
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 系统