首页 > 系统相关 >运维工程师高频面试——Linux系统性能优化思路(一)

运维工程师高频面试——Linux系统性能优化思路(一)

时间:2023-02-21 23:32:48浏览次数:32  
标签:swap 运维 内存 IO Linux 磁盘 高频 CPU 内核

       Linux服务器主机性能优化是运维工程师面试常考常新的主题,首先我们要清楚影响Linux性能的各种因素,包括硬件资源、 硬件资源方面,如果是动态web应用、mail服务等都是较为消耗CPU资源的,需要使用多核CPU与超线程技术;内存方面需要较好把控物理内存与swap的取舍,比如可以对内核参数进行设置,让大数据业务使用固定物理内存,限制使用swap内存的容量;如无特殊需求,需要选择主流的64位操作系统,需要充分redis、hbase、mongodb等消耗内存的数据库。关于磁盘IO资源,使用raid10可以兼具raid0、raid1的优势,对高频访问数据使用SSD硬盘存储,对冷备份数据可以使用磁盘存储,以兼顾性能和成本。网络设备一般选择万兆网卡,操作系统考虑使用双网卡绑定运行的方式,减轻单块网卡的流量负载。 操作系统方面,除了需要对磁盘合理分区,raid设置、swap设置以外,对内核参数进行优化是杀手锏,比如通过ulimit -n设置系统最大文件打开数,ulimit -u设置系统最大用户数等,文件系统优化方面,尽量使用ext4格式和xfs格式,前者支持无线子目录,可以快速fsck,后者能够提供较高性能运行效率。 常用的linux性能优化工具: (1)vmstat(系统默认自带) 使用vmstat命令可以对操作系统内存信息、进程状态、CPU活动等主要指标进行监控, 例如下面是vmstat命令在某个系统上的输出结果:

[root@liguo110 ~]# vmstat 2 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 264 92240 2108 306500 0 0 17 2 71 170 0 0 100 0 0
0 0 264 92216 2108 306500 0 0 0 0 134 327 0 0 100 0 0
1 0 264 92216 2108 306500 0 0 0 0 121 311 0 0 100 0 0
procs:
r列表示运行和等待分配cpu时间片的进程数,这个值长期大于系统CPU 的个数, 说明CPU资源不足,需要增加 CPU解决进程等待问题。b列表示在等待资源的进程数,比如正在等待I/O、内存交换等。
memory:
swpd列表示切换到内存交换区的内存数量(以kb为单位)。如果swpd值不为0,或者比较大,只要si、so的值长期为0,不会影响系统性能。
buff列表示buffers cache的内存数量,一般对块设备的读写才需要缓冲。
cache列表示page cached的内存数量,作为文件系统cached,频繁访问的文件都会被放入cached,如果cache 值较大,说明其中的文件数较多,如果此时IO中的bi比较小,说明文件系统运行效率比较好。
swap:
si列表示由磁盘调入内存,就是内存进入内存交换区的数量。so列表示从内存调入磁盘。一般情况下,si、so 的值都为 0,如果 si、so 的值长期不为 0,则表示系统内存不足,需要增加系统内存。
IO 项显示磁盘读写状况:Bi列表示从块设备读入数据的总量(即读磁盘)。Bo 列表示写入到块设备的数据总量(即写磁盘)。
system:
显示采集间隔内发生的中断数,in列表示在某个时间间隔观测到的每秒设备中断数,cs列表示每秒产生的上下文切换次数。这2个值越大,内核消耗的CPU时间越多。
CPU:
CPU的使用状态,us 列显示了用户进程消耗的 CPU 时间百分比。us 的值比较高时,说明用户进程消耗的cpu 时间多,如果长期大于50%,需要考虑优化程序或算法。sy列显示内核进程消耗的CPU时间百分比。Sy的值较高,说明内核消耗的CPU资源很多。Sy的值较高,说明内核消耗的CPU资源很多。id列显示了CPU处在空闲状态的时间百分比。wa 列显示了IO等待所占用的CPU时间百分比。wa值越高,说明IO等待越严重。造成IO等待的原因可能是磁盘大量随机读写,也可能是磁盘或者磁盘控制器的带宽瓶颈造成的。
在对 CPU 的评估中,需要重点注意的是procs项、r列的值;CPU项中us、 sy和id列的值。

标签:swap,运维,内存,IO,Linux,磁盘,高频,CPU,内核
From: https://blog.51cto.com/u_4696546/6077135

相关文章

  • linux(华为云)使用tomcat搭建图片服务器(保姆级别)
    参考文章:linux安装java:https://www.jianshu.com/p/3954fdf6063alinux安装tomcat:https://blog.csdn.net/m0_59347746/article/details/125716012tomcat搭建图片服务器:htt......
  • Linux平台实现简单的IP白名单策略
    /etc/hosts.allow与/etc/hosts.deny的判定机制读取/etc/hosts.allow文件,从上到下读取:如果守护程序-客户端对与文件中的第一行匹配,则授予访问权限;如果该行不匹配,则读取......
  • Linux学习-DAY11
    7.2LVM逻辑卷管理器LVM是Linux系统用于对硬盘分区进行管理的一种机制,理论性较强,其创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进......
  • Rocky Linux安装
    1.下载VirtualBox并安装https://www.virtualbox.org/wiki/Downloads2.下载RockyLinux选择Rocky-9.1-x86_64-dvd.iso镜像官网https://rockylinux.org/download......
  • 资料分析第二章 高频考点
    第一节增长相关题型1增长率A》一般增长率题型特征:。。。的增长率/曾速/增幅.。。。。。,增长最快的是a>基础公式增长率 =增长......
  • linux基本功系列之sudo命令实战
    #前言......
  • Web安全入门与靶场实战(43)- 查看Linux版本
    脏牛漏洞是在Linux内核中存在的一个漏洞,具体原理是get_user_page内核函数在处理Copy-on-Write(简称COW)的过程中,可能产生竞态条件造成COW过程被破坏。这里我们不需要去理解......
  • Linux下的高性能轻量级Web服务器(二)
    2.使用I/O复用技术和线程池网络中有很多用户会尝试去connect()这个WebServer上正在listen的这个port,而监听到的这些连接会排队等待被accept()。由于用户连接请求是随机到......
  • 浅析无人值班变电站的电力运维云平台的维护
    罗轩志 安科瑞电气股份有限公司上海嘉定 201801 摘要:文结合本地区变电站实际运行情况,主要就无人值班变电站的运行、管理、维护方面,作出简要论述。关键词:变电站;无人值班......
  • AMD-Xilinx MPSoC的Watchdog在Linux中使用的简明教程
    AMD-XilinxMPSoC的器件里,提供了内置的Watchdog。在Vivado里选择Watchdog,并在设备树里使能Watchdog,还不能在Linux中正常使用。pmu-firmware修改如果要在Linux中使用Watch......