没有合适的资源?快使用搜索试试~ 我知道了~
首页Unix系统性能监控与系统资源管理
Unix系统性能监控与系统资源管理
5星 · 超过95%的资源 需积分: 3 25 下载量 28 浏览量
更新于2023-03-16
评论 1
收藏 125KB DOC 举报
Unix系统性能监控与系统资源管理 “为什么我的系统运行得如此之慢”这是可能在系统管理员最不想听到的问题之中排名第二的问题。排名第一的问题是“为什么我的系统又崩溃了?!”系统性能问题只有在出现严重问题时,才会成为关注的焦点。可是很不幸,却很少有人因为系统管理员充分利用了系统性能而大加赞扬。 系统性能问题是一个复杂的问题,与它相关的问题和领域也有很多,但是总的来说,系统性能取决于系统资源是否合理的分配给系统当前可运行进程。在某一时刻,系统性能是各进程对系统资源的总需求和进程之间竞争资源的综合结果。相应的,性能问题可能由各种原因引起,主要表现包括缺少必须的资源或者对资源的管理效率很低。造成这种结果的原因可能是由于系统的硬件资源无法满足系统运行需要,还可能由于操作系统Bug,还有可能(通常很多情况下是这种情形)是由于主要的应用系统的开发设计缺陷造成的。 解决性能问题首先要定位出问题的系统资源,主要的系统资源包括:CPU、内存、磁盘以及网络。找到问题资源后要分析出现问题的原因,以此为基础更加细致深入的分析下去(包括考虑:硬件的故障、系统的负载、定位可能造成性能问题的应用系统模块、分析功能模块的使用模式、考虑模块的设计甚至有时要观察源代码编写等等),最终定位问题点进而想出解决问题的办法。 接下来我们就将按照不同的系统资源的特点和管理手段以及分析方法,来讲解如何对系统关键资源进行有效管理,来提升系统性能。
资源详情
资源评论
资源推荐
Unix 系统性能监控与系统资源管理
一、 考虑系统性能:
“为什么我的系统运行得如此之慢”这是可能在系统管理员最不想听到的问题之中排名第二的问题。排
名第一的问题是“为什么我的系统又崩溃了?!”系统性能问题只有在出现严重问题时,才会成为关注的焦
点。可是很不幸,却很少有人因为系统管理员充分利用了系统性能而大加赞扬。
系统性能问题是一个复杂的问题,与它相关的问题和领域也有很多,但是总的来说,系统性能取决于
系统资源是否合理的分配给系统当前可运行进程。在某一时刻,系统性能是各进程对系统资源的总需求和
进程之间竞争资源的综合结果。相应的,性能问题可能由各种原因引起,主要表现包括缺少必须的资源或
者对资源的管理效率很低。造成这种结果的原因可能是由于系统的硬件资源无法满足系统运行需要,还可
能由于操作系统 Bug,还有可能(通常很多情况下是这种情形)是由于主要的应用系统的开发设计缺陷造
成的。
解决性能问题首先要定位出问题的系统资源,主要的系统资源包括: CPU、内存、磁盘以及网络。找
到问题资源后要分析出现问题的原因,以此为基础更加细致深入的分析下去(包括考虑:硬件的故障、系
统的负载、定位可能造成性能问题的应用系统模块、分析功能模块的使用模式、考虑模块的设计甚至有时
要观察源代码编写等等),最终定位问题点进而想出解决问题的办法。
接下来我们就将按照不同的系统资源的特点和管理手段以及分析方法,来讲解如何对系统关键资源进
行有效管理,来提升系统性能。
二、 系统进程监控
Unix 能够监控进程执行,并且能够有限的制定执行优先级。这样做,可以
控制 CPU 时间分配并间接控制内存的使用。
1、 uptime 命令:
uptime
3:24pm up 2 days, 2:41,16 users,load average:1.90,1.43,1.33
Uptime 命令将会报告当前时间、系统运行时间以及三个负荷均值,负荷均值是对
CPU 使用量的粗略度量。这三个均值分别报告了最后 1 分钟、最后 5 分钟、最后 15
分钟的平均活动进程数,均值较高通常意味着系统比较繁忙。多大均值算高呢?通常
取决于具体的系统。理想的负载负荷应该在 3-5 以下。更进一步,相同的负荷均值,
对于不同的系统运行也不一样。例如有些工作站运行 X 窗口时占用单个 CPU 的后台
作业,也会使相应时间变慢,虽然此时系统的平均负荷依然比较低。因此 CPU 的可
用性只是影响系统性能的一个因素,所以低负荷均值并不能保证快速的响应时间。
2、 PS 命令与 TOP 命令:
Ps 命令可以提供一个完整的系统活动状况,该命令的控制选项可以列出需要现
实的进程的详细信息。
在基于 BSD 的系统中可以使用 ps aux 形式命令来获得所有进程列表,该列表按照使
用 CPU 的百分比大小进行排序。在基于 System V(如:IBM-AIX 系列)的系统中
该列表按照进程的 PID 进行排序。具体的 PS 命令输出如下:
User(BSD) 进程所有者用户名
UID(System V)
PID 进程 ID
%CPU 估计的 CPU 消耗百分比
%MEM 估计的系统内存消耗百分比
SZ 使用的虚拟内存
RSS 使用的物理内存
TT,TTY 和进程关联的 TTY
STAT(BSD) 当前进程状态,下力值中的一个:
S(System V) R 正在运行的进程
S 休眠
I 空闲
T 停止
Z 死进程
D 等待磁盘
X(System V) 增长,等待内存
K(AIX) 可用内存进程
W(BSD) 被换出
N(BSD) 执行 nice 命令降低了优先级
< (BSD) 执行了 nice 命令人工提升了优先级
TIME 使用的总 CPU 时间
COMMAND 进程执行的命令
STIME(System V) 进程开始的时间或日期
START (BSD)
F 进程标志
PPID 父进程的 ID
NI 进程优先级
C (System V) CPU 使用因子,调度程序靠它来计算执行优先级
CP(BSD)
PRI 实际的进程优先级(动态地重新计算)
WCHAN 指定进程所等待的事件
TOP 命令会显示系统运行时间、总的进程数和当前的 CPU、内存、交换空间的
使用量,并且会按照 CPU 的使用量进行排序。默认情况下 TOP 命令每 5 秒钟进行一
次刷新,可以使用如下命令来指定刷新时间:
FreeBSD top –s 8
Linux top d8
HP-UNIX top –s 8
TOP 会持续的运行直到用户按下 q 键。大多数版本的 TOP 还允许和显示的进程进行
交互(HP-UNIX 的 TOP 的命令只用于显示),当按下 k 和 r 键分别可以结束进程以
及重新指定进程优先级。对于这两种情况 TOP 命令都将会提示输入需要进行改变的
进程 PID。
3、/Proc 文件系统:
大多数 Unix 系统(HP-UNIX)除外和所有的 Linux 系统都支持/proc 文件系统,
在大多数系统上,/proc 文件系统完全由编号的文件或者子目录组成,他们都以对应
的进程 PID 命名。Linux 对/proc 文件系统进行了扩展,包含了许多保存系统设置和
当前系统数据的其他文件和子目录。例如 cpuinfo 文件包含了处理器信息,使用
cat /proc/cpuinfo 命令可以查看当前系统的处理器信息。
此外/proc 下还包含许多子目录,这些子目录中也包含了大量有关系统的重要信息。
比如 sys 子目录下提供了对内和变量的访问,可以修改其中的一些文件,来更改内
和变量的默认值。但是此操作一定要相当谨慎。
4、进程资源限制:
Unix 提供了非常简单的进程资源限制命令。资源限制分为两种类型:软限制和硬限
制。软限制是创建新进程时默认应用的资源限制。用户可以增加该值,最大为系统的
硬限制,再往上只能由超级用户来增加。硬限制是资源使用的绝对最大值。
以 bash shell 为例可以使用 ulimited –a 来显示当前系统资源的软限制,使用 ulimited
–Ha 来显示当前系统的硬限制。可以使用如下命令设置各种资源限制:
ulimit –t 单位:秒 CPU 使用时间
ulimit –f 单位:kb 最大文件尺寸
ulimit –d 单位:kb 最大进程数据段
ulimit –s 单位:kb 最大进程堆栈段
ulimit –m 单位:kb 最大物理内存
ulimit –c 单位:kb 最大核心文件尺寸
ulimit –u 单位:n 最大进程数
ulimit –v 单位:kb 最大虚拟内存
命令事例:ulimit –t unlimited 设置 CPU 使用时间为无限
ulimit –m 65536 设置最大物理内存使用量为 64MB
通常将不经常使用核心文件的普通用户的核心文件大小限制设置为 0,比较可取,因
为这样可以防止这些用户创建该文件。
在 AIX 中可以通过修改文件/etc/security/limits 文件,来更改进程资源限制。或者可
以通过 chuser 命令来改变用户的进程资源限制。如: chuser rss=10240 wangcai,将
wangcai 用户的最大物理内存使用量置为 10M。(具体资源限制参数可以去查看联机
帮助手册)。
5、结束进程:
在 Unix 或者 Linux 系统中可以使用 kill 命令来结束一个进程,改命令以进程 PID 为
参数。如果使用该命令无法结束一个进程,可以使用 kill -9 PID 命令来强行结束一个
进程。一般情况下这肯定能够销毁一个进程,但是该命令不能使进程在退出前进行必
要的清理工作,因此可能使进程处理的文件处于不协调的状态。另外对挂起的进程必
须首先恢复,然后才能使用 kill 命令来结束。
大多数系统还提供了 killall 命令来一次结束多个进程。对于 Linux 和 FreeBSD 系统
还提供了 killall 的增强版本,使该命令可以接受第二个参数,如:killall –kill find 该命
令可以结束所有正在运行 find 命令的进程。
三、 管理 CPU 使用:
1、 优先数和进程优先级:
在大多数的 Unix 系统中都会使用基于优先级的循环调度算法来为多个竞争资源的
进程分配 CPU 资源。所有的进程都会被分配一个执行优先级,这是一个整数值,改制
会随着几个因素动态的计算更新。而且在 Unix 系统中会为不同优先级的进程分配不同
的优先级队列,虽然系统中可能同时存在大量进程,但是同一时刻只会有少数进程占
用 CPU。并且一旦某个进程开始运行,它便会持续运行下去,直到他需要等待 I/O 操
作完成从内核接受中断,或者释放 CPU 控制,或者耗尽系统所分配的时间片。一旦某
个进程停止运行,调度程序会去到某个合适优先级队列中选择一个队列中排在最前面
的进程,然后启动并运行它。刚刚停止运行的进程如果还没有运行完毕,会被调度程
剩余14页未读,继续阅读
javacoffe
- 粉丝: 146
- 资源: 39
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
- MW全能培训汽轮机调节保安系统PPT教学课件.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2