linux是一个开源系统,其内核负责管理系统的进程,内存,设备驱动程序,文件和网络系统, 决定着系统的性能和稳定性。由于内核源码很容易获取,任何人都可以将自己认为优秀的代码 加入到其中。linux默认提供了很多服务,如何发挥linux的最大性能,如何精简系统以便适合 当前的业务需求,这需要对内核进行重新编译优化。影响linux性能的因素有很多,从底层硬件 到上层应用,每一部分都可以有优化的地方。 linux性能评估与分析工具 影响linux服务器性能的因素有很多,从底层的硬件到操作系统,从网络应用到上层应用。找到 系统硬件和软件资源的平衡点是关键。如访问量急剧增长时,造成CPU利用率过高,由于不能及时 得到响应,系统负载急剧上升,从而导致其他进城运行过慢,系统中的进程越来越多,有可能导致 物理内存耗尽,直到交换内存被耗尽,此时系统已经处于假死状态,从而导致系统不能登录,只能 进行重启操作进行恢复。 虽然大多数情况下系统系能的瓶颈的原因是应用程序BUG或性能较差引起的,最终会表现为系统负载 升高,程序响应缓慢或者拒绝服务,因此如要了解系统当前的性能,首先应该观察系统负载或 CPU使用情况。 查看和监视CPU的命令工具有很多,常见的有uptime,top,vmstat等。 uptime的输出可以作为linux系统整体性能评估的一个参考。这里主要关注load average参数,3个 值分别表示最近1分钟,5分钟,15分钟的系统负载值。此部分的值可以参考cpu的个数或核数,有关 cpu的信息可以查看系统中的,/proc/cpuinfo文件。 如5分钟的负载值或15分钟的负载值长期超过cpu个数的两倍,说明系统当前处于高负载,需要关注 并优化,如数值长期低于cpu个数或核数,说明系统运行正常,如长期处于数值1以下则说明系统cpu 资源没有得到有效利用,cpu处于空闲状态。 vmstat是一个比较全面的性能分析工具,通过此工具可以观察进程的状态,内存使用情况,swap的 使用情况,磁盘IO,CPU的使用情况等信息。 procs第一列表示运行和等待CPU时间片的进程数,这个值长期如果大于系统系统CPU的个数,说明 cpu不足,需要增加cpu。第二列b表示在等待资源的进程数,等待资源的有IO或内存交换等。 内存相关的命令还有free,磁盘IO相关的有iostat
时间: 2024-10-10 18:05:47