当前位置: 首页 > news >正文

linux下宝塔负载100%解决方法

今天发现服务器宝塔面板负载居然是100% 但是cpu 和内存其实并不高

通过命令查看主机

uptime 中load average 居然高达18.23 看来负载是真的高了 

通过vmstat 看看具体问题

 

procs:

​ r 表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU个数,说明CPU不足。

​ b 表示等待资源的进程数,比如正在等待I/O、或者内存交换等。

memory:算是正常

swap:

​ si 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够或者内存泄露了,要查找耗内存进程解决掉。

​ so 每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。

​ 一般情况下,si、so的值都为0,如果si、so的值长期不为0,则表示内存不足。

IO:

​ bi 块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte

​ bo 块设备每秒发送的块数量

​ 设置的bi+bo参考值为1000,如果超过1000,而且wa值较大,则表示系统磁盘IO有问题,应该考虑提高磁盘的读写性能。

图上还好

system:

​ in 每秒CPU的中断次数,包括时间中断。(较高)

​ cs 每秒上下文切换次数(较高)

​ 这两个值越大,内核消耗的CPU就越多

cpu:

​ us 用户进程消耗的CPU时间百分比,us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,就需要考虑优化程序或算法

​ sy 内核进程消耗的CPU时间百分比,sy值如果太高,说明内核消耗CPU资源很多,例如是IO操作频繁。

​ id CPU处于空闲状态的时间百分比。(cpu空闲)

​ wa io等待所占用的时间百分比,wa值越高,说明IO等待越严重,根据经验,wa的参考值为20%,如果wa超过20%,说明IO等待严重,引起IO等待的

​ 原因可能是磁盘大量随机读写造成的,也可能是磁盘或者磁盘控制器的带宽瓶颈造成的(主要是块操作)通过上面的分析,发现主要是cpu每秒中断次数以及上下文切换较高

看看系统里面有没有D状态的 进程

ps -aux |grep D

 

果断kill试试? 

kill -9 PID

 终于正常了

还发现一个小问题

df -h 卡住了

解决办法:

1、首先就是使用strace去追踪到底在哪里卡住了

strace df -h

2、然后在使用strace df -h 就会显示出卡住的地方

stat("/home/wwwroot/xxx.cn/public

3、使用 umount -l 命令卸载无效挂载目录

umount -l /home/wwwroot/xxx.cn/public

网站挂载点出现了问题

再使用df -h就可以看到命令正常执行了 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 存储+调优:存储-IP-SAN
  • NumPy 随机数据分布与 Seaborn 可视化详解
  • 请叙述Vue 中使用了哪些设计模式
  • 安装和配置 FRP (Fast Reverse Proxy)
  • 第14章-蓝牙遥控小车 手把手做蓝牙APP遥控小车 蓝牙串口通讯讲解
  • Redis 可视化工具 RedisInsight 的保姆级安装以及使用(最新)
  • 39. 组合总和 - 力扣(LeetCode)
  • 《Ai企业知识库》-模型实践-rasa开源学习框架-基础理论-02
  • Vue3(TypeScript)-CSSProperties代码示例及用法详解
  • ubuntu22.04安装cuda10.2
  • matlab 2023b 不要升级,升级用不了
  • android pdf文件预览
  • 【React】二次封装Antd的Table组件
  • SQL注释方法 -- 单行注释/多行注释
  • 数据结构(三)循环链表
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【RocksDB】TransactionDB源码分析
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • avalon2.2的VM生成过程
  • Bytom交易说明(账户管理模式)
  • eclipse(luna)创建web工程
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • JavaScript中的对象个人分享
  • js中的正则表达式入门
  • Kibana配置logstash,报表一体化
  • mysql 5.6 原生Online DDL解析
  • python学习笔记 - ThreadLocal
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 从重复到重用
  • 搭建gitbook 和 访问权限认证
  • 回顾2016
  • 手机端车牌号码键盘的vue组件
  • 微信支付JSAPI,实测!终极方案
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 小程序button引导用户授权
  • 小而合理的前端理论:rscss和rsjs
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • nb
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ​油烟净化器电源安全,保障健康餐饮生活
  • # SpringBoot 如何让指定的Bean先加载
  • #pragma pack(1)
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (2.2w字)前端单元测试之Jest详解篇
  • (C#)一个最简单的链表类
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (八)Flask之app.route装饰器函数的参数
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (南京观海微电子)——示波器使用介绍
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .net2005怎么读string形的xml,不是xml文件。
  • .NET开源纪元:穿越封闭的迷雾,拥抱开放的星辰
  • .NET应用架构设计:原则、模式与实践 目录预览