Linux系统卡顿处理记录(Debian)

news2024/10/5 22:24:11

问题现象描述

        现象linux操作系统卡顿(就是很慢),但是系统任然能够使用。

        文章一步步的排查并且定位问题。

排查步骤

1. 使用top命令查看CPU是否占用过高。(未发现)排除问题

2. 使用df -h查看硬盘是否被占满。(未发现)排除问题

3. 使用cat命令在/tmp目录下执行速度很快,在/home/xxx 目录先执行很慢。(猜测和硬盘有关)但是他们是同一块硬盘。由于该问题在很多电脑上都出现暂时排除硬盘坏道导致。(猜测和硬盘读写有关,如果硬盘读写被占满有可能会导致读写速度缓慢的情况)

使用一下命令查看IO状态

# 安装
sudo apt-get install iotop
sudo iotop

未发现文件读写很多的情况。

4. 发现vim和cat命令都很卡,所以直接使用strace定位cat命令的问题。

sudo apt install strace
strace -tt -o tt.log cat xxxx 

 发现在这个位置执行了快2分钟。大概率问题就在这里。

在日志中看头看到这样的的读取,这个非系统so文件。

通过16923可以知道进程,问题大概定位到那个应用导致的。

 5. 通过进程号查找进程环境变量

cat /proc/进程号/environ

最终发现该进程PRE_LOAD了一个so文件,该so文件修改了读取文件的函数逻辑导致程序卡顿。

他其实是一个监控软件,监控系统文件读写情况(安全相关)

6. 通过进程号查应用

ps -ef | grep 进程ID

通过dpkg -S 查询应用名称。

strace命令使用

strace 是一个用于跟踪程序系统调用的Linux命令。它可以记录程序执行时与操作系统内核之间的交互,包括系统调用、信号传递、进程间通信等。下面我将以教程的方式分点说明如何使用 strace 命令,并附带一个简单的案例。

1.安装 strace

在大多数Linux发行版中,`strace` 工具是预装的。如果你的系统没有安装,你可以使用包管理器安装它。

- 在Debian/Ubuntu系统中使用以下命令安装:

  sudo apt-get install strace

- 在Red Hat/CentOS系统中使用以下命令安装:

 sudo yum install strace

2. 基本使用

要使用 `strace`,只需在终端中输入命令,然后跟上要跟踪的命令。例如:

strace ls

这将会显示 `ls` 命令的系统调用。

3. 输出到文件

你可以将 `strace` 的输出保存到文件中,以便后续分析:
```bash
strace -o output.txt ls
```

4. 显示系统调用的详细信息

默认情况下,`strace` 只会显示系统调用的名称。如果你想要查看更详细的信息,可以使用 `-v` 选项:
```bash
strace -v ls
```

5. 跟踪特定系统调用

如果你只对特定的系统调用感兴趣,你可以使用 `-e` 选项来指定:
```bash
strace -e open ls
```
以上命令将只跟踪 `open` 系统调用。

6. 案例:跟踪一个程序

让我们以一个简单的C程序为例。假设有一个名为 `example.c` 的C程序:```c
 

#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

首先,编译这个程序:
 

gcc -o example example.c

然后,使用 `strace` 跟踪这个程序:

strace ./example

这将输出 `example` 程序执行期间的所有系统调用信息,包括文件操作、内存分配等。

以上就是使用 `strace` 的基本教程和一个简单的案例。请注意,`strace` 可以提供非常详细的输出,因此在分析大型程序时可能需要使用其他工具来处理和筛选输出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1083835.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

突破边界与持续技术创新,Doris Summit Asia 2023 主论坛亮点解读

峰会官网已上线&#xff0c;最新议程请关注&#xff1a;doris-summit.org.cn Doris Summit 是 Apache Doris 社区一年一度的技术盛会&#xff0c;由 SelectDB 联合 Apache Doris 社区的众多开发者、企业用户和合作伙伴共同发起&#xff0c;专注于传播推广开源 OLAP 与实时数据…

【如何查看Python安装了哪些包】

如何查看Python安装了哪些包 这篇文章主要给大家介绍了关于如何查看Python安装了哪些包的相关资料, Conda是另一种广泛使用的Python包管理工具,它用于安装、管理和升级软件包和其依赖项,需要的朋友可以参考下 目录 查找是否安装了具体的包怎么安装包&#xff1f;更新包总结 c…

C++ 使用Windows的API CreateDirectory 创建多层级文件夹

简介 使用Windows的API创建多层级文件夹 效果 代码 #include <windows.h> #include <direct.h> #include <iostream> #include <string> #include <sstream> #include <vector> //创建多层级文件夹 bool CreateDir(const std:…

web系统接口设计总结

一、前言 在前后端完全分离的开发模式或者说是架构模式下&#xff0c;后端开发者只需要编写后端接口&#xff0c;特别是restful风格接口更为常见。那么暴露给外面的接口大概有三个常见。1、给后台系统调用的接口&#xff0c;2、对客端应用的接口&#xff08;APP或者H5页面&…

Linux文件-内存映射mmap

mmap定义为&#xff1a;Linux通过将一个虚拟内存区域与一个磁盘上的对象(object)关联起来&#xff0c;以初始化这个虚拟内存区域的内容&#xff0c;这个过程称为内存映射(memory mapping)。 在LINUX中我们可以使用mmap用来在进程虚拟内存地址空间中分配地址空间&#xff0c;创…

如何成为CISP信息安全专业人员

随着信息技术和经济社会的交汇融合&#xff0c;网络安全一跃成为国家最为关注的焦点之一。 对于网络安全行业的资质证书来说&#xff0c;CISP成为了目前从业人员最为关注和了解的证书之一&#xff0c;那么&#xff0c;在网络安全行业&#xff0c;CISP证书的价值究竟在哪里&…

MBBF展示的奇迹绿洲:5G的过去、此刻与未来

如果你来迪拜&#xff0c;一定不会错过全世界面积最大的人工岛项目&#xff0c;这是被称为世界第八大奇迹的棕榈岛。多年以来&#xff0c;这座岛从一片砂石、一棵棕榈树开始&#xff0c;逐步建成了整个波斯湾地区的地标&#xff0c;吸引着全世界游人的脚步。 纵观整个移动通信发…

国际前十伦敦金交易app软件最新排行榜(信息汇总)

随着科技的发展&#xff0c;移动交易已成为的趋势。伦敦金交易也不再局限于桌面&#xff0c;而是越来越多地转移到手机上。 为了更好地展现软件的信息&#xff0c;本文将为大家介绍国际前十的伦敦金交易app软件最新排行榜。 1.金荣中国 金荣中国是知名的伦敦金交易平台&…

Maven导入程序包jakarta.servlet,但显示不存在

使用前提&#xff1a;&#xff08;Tomcat10版本&#xff09;已知tomcat10版本之后&#xff0c;使用jakart.servlet。而tomcat9以及之前使用javax.servlet。 问题描述&#xff1a;在maven仓库有导入了Jakarta程序包&#xff0c;但是界面仍然显示是javax。&#xff08;下图&…

基于VCO的OTA稳定性分析的零交叉时差模型研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Linux编译FFmpeg

Linux编译FFmpeg 1. 下载FFmpeg源码 FFmpeg源码下载地址&#xff1a;http://ffmpeg.org/download.html 在下面选择版本 2. 解压并创建生成目录 tar xvf ffmpeg-snapshot.tar.bz2 // 解压下载的FFmpeg源码 makedir /root/ffmpeg // 创建生成目录3. 编译FFmpeg 进入FF…

详解Zookeeper(铲屎官)在众多中间件的应用和在Spring Boot业务系统中实现分布式锁和注册中心的解决方案

1.概述 1.1 Zookeeper是什么&#xff1f; Zookeeper: 直译过来是动物园管理员的意思&#xff0c;这里的动物表示的就是当下主流的众多框架组件(ps&#xff1a;现在的框架组件都喜欢用动物当图标)&#xff0c;而Zookeeper的图标如下图所示&#xff0c;是一个人拿着一个铲子(铲…

Python学习笔记-使用哈希算法Hash,Hashlib进行数据加密

文章目录 一、概述1.1 哈希算法1.2 常见算法分类1.2.1 SHA算法1.2.2 MD4算法1.2.3 MD5算法 1.3 Hash算法的特性1.4 Hash算法的应用场景1.4.1 数据校验1.4.2 安全加密1.4.3 数字签名 二、Hash算法使用2.1 使用hash函数直接获取hash值2.2 使用hashlib库进行hash计算2.2.1 基本使用…

解决Win10电脑无线网卡的移动热点无法开启问题

一、目的 利用无线网卡连接网络&#xff0c;然后又用无线网卡通过移动热点分享该网络。 移动热点&#xff0c;简单地说&#xff0c;就是将台式机或笔记本的 Internet 连接转化成 WIFI 信号以供移动设备无线上网的功能&#xff0c;硬件前提是电脑须安装有无线网卡。 二、问题 …

深度学习基础知识 最近邻插值法、双线性插值法、双三次插值算法

深度学习基础知识 最近邻插值法、双线性插值法、双三次插值算法 1、最近邻插值法 1、最近邻插值法 *最邻近插值&#xff1a;将每个目标像素找到距离它最近的原图像素点&#xff0c;然后将该像素的值直接赋值给目标像素 优点&#xff1a;实现简单&#xff0c;计算速度快缺点&…

运维少背锅? 7 种常见监控工具,你是否用过?

运维监控工具千千万&#xff0c;仅开源的解决方案就有流量监控&#xff08;MRTG、Cacti、SmokePing、Graphite等&#xff09;和性能告警&#xff08;Nagios、Zabbix、Zenoss Core、Ganglia、OpenTSDB等&#xff09;可供选择。 并且每种软件都有自己的特点和功能&#xff0c;各…

OpenCV4(C++)——模板匹配

matchTemplate 模板匹配和卷积运算大致相同&#xff0c;模板图类似于卷积核&#xff0c;从原图的左上角开始进行滑动窗口的操作&#xff0c;最后得到一个特征图&#xff0c;这个特征图里的数值就是每次计算得到的相似度&#xff0c;通用匹配方式&#xff0c;相似值是&#xff…

【博客搭建】1、拾壹博客本地启动遇到的问题和需要注意的坑

一、后端&#xff08;blog&#xff09;启动 1、修改application.yml中的数据库链接与密码&#xff0c;Redis账号密码&#xff0c;即可启动成功&#xff1b; 2、运行之前先导入sql&#xff1b; 3、 如需上传文件保存至本地&#xff08;例如相册的照片&#xff09;&#xff0c;需…

Verilog功能模块——异步FIFO

前言 FIFO的功能 FIFO在FPGA中应用很多&#xff0c;它主要有以下功能&#xff1a; 数据缓存&#xff0c;很多时候数据发送速度和数据接收速度并不实时匹配&#xff0c;而在其中插入一个FIFO&#xff0c;来临时存储数据&#xff0c;就能平衡发送和接收速度组合与分解数据&…

什么是系统架构师?什么是系统架构?

1. 什么是系统架构师&#xff1f; 系统架构设计师(System Architecture Designer&#xff09;是项目开发活动中的关键角色之一。系统架构是系统的一种整体的高层次的结构表示&#xff0c;是系统的骨架和根基&#xff0c;其决定了系统的健壮性和生命周期的长短。 系统架构设计…