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

这篇具有很好参考价值的文章主要介绍了Linux系统卡顿处理记录(Debian)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题现象描述

        现象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文件。

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

通过16923可以知道进程,问题大概定位到那个应用导致的。Linux系统卡顿处理记录(Debian),linux,linux

 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` 可以提供非常详细的输出,因此在分析大型程序时可能需要使用其他工具来处理和筛选输出。

Linux系统卡顿处理记录(Debian),linux,linux文章来源地址https://www.toymoban.com/news/detail-725161.html

到了这里,关于Linux系统卡顿处理记录(Debian)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 410随身wifi-linux(debian系统)各个频率版&释放内存版&驱动全面

    可刷型号:uif001b ufi003 ufi001c ufi903 ufi103s uz801 sp970 ufi16v3/4  jz01刷001的   频率有:1.2Ghz 1.4Ghz 1.6Ghz 1.8Ghz 2.0Ghz 2.1Ghz   释放内存版:去掉了modem和gps设备树运行内存增加到461mb!(也就是说不能插卡)   一键刷入界面    网络配置    须知: 1.各个型号已经替换了相应的基带文件 2.安装

    2024年02月05日
    浏览(60)
  • 随身WIFI刷真Linux(Debian)系统搭配拓展坞做超低功耗服务器

    环境准备: 买个最便宜的随身WiFi(15以下可以入手,有的车甚至可以几毛钱) 一个小螺丝刀、WiFi网络环境、Windows电脑 9008驱动 MIKO(系统备份还原工具) adb Debian系统镜像 文末参考链接中有大佬们提供的环境包和系统镜像包: https://wwz.lanzoub.com/i9LWO0bib0zg 进入9008模式 按住随身wi

    2024年01月16日
    浏览(28)
  • linux 基于debian_ubuntu AB系统适配(四)- 硬盘 wifi U盘无法使用问题

    使用原系统可以使用,但AB系统缺不行,开始怀疑是文件系统问题,于是我把AB系统的文件系统给替换到原系统中去,结果一样可以使用。于是替换了内核文件,结果不能使用了,那问题就出现在了内核中,刚开始以为是设备树的问题,于是拿原系统的设备树与AB系统的设备树

    2024年02月15日
    浏览(32)
  • openmediavault debian linux安装配置企业私有网盘(三 )——raid5与btrfs文件系统无损原数据扩容

    1、企业自有物理专业服务器,一些敏感数据不外流时,使用openmediavault自建NAS系统; 2、在虚拟化环境中自建NAS系统,用于内网办公,或出差外网办公时,企业内的文件共享; 3、虚拟化环境中有可用磁盘资源,用于动态给NAS系统扩容; 4、在RAID 5的基础上实现原数据资源无损

    2024年02月03日
    浏览(37)
  • 开源麒麟Linux系统openKylin-1.0 内核是debian 安装openssh-server及配置root远程登陆

    原因:服务器安装完开源麒麟Linux系统openKylin-1.0后,换使用时的键鼠很烦。 目标:Debian安装openssh-server,原系统安装Xshell,并配置实现root远程登录。 记录下并供大家参考! #检查 如果安装会显示 如果显示一堆的关联库包,表示没有安装 #安装 个人习惯不加“-y”,看一下都

    2024年02月14日
    浏览(41)
  • linux历史记录简易审计系统

    1、有时候我们需要对线上用户的操作进行记录,可以进行追踪,出现问题追究责任,但是linux自带的history并不会实时的记录(仅仅在内存中,当用户正常退出(exit logout )时才会记录到history文件里),并且还有1000行的限制可以删除的; 为了保证让用户的操作进行实时记录;可以做一个简

    2024年02月08日
    浏览(47)
  • 菜鸟的linux云服务器第一次木马入侵处理记录(名为xmrigMiner的木马)

    2023.13.39分收到腾讯发来的提醒 查了一下后台,是这个样子 显示的是cpu与内存占用极高,不停有写入操作 大写的懵逼,第一反应是先关机 但是没屁用,cpu与内存占用居高不下 我处理的主要过程如下 kill进程没用,还会重新启动。查了半天资料,说是让我看看 启用命令 卧槽,

    2024年02月13日
    浏览(42)
  • linux系统重启 查看相关日志和历史记录

    last 命令不仅可以按照时间从近到远的顺序列出该会话的特定用户、终端和主机名,而且还可以列出指定日期和时间登录的用户。输出到终端的每一行都包括用户名、会话终端、主机名、会话开始和结束的时间、会话持续的时间. 使用 last 命令来查询最近登录到系统的用户和系

    2024年02月13日
    浏览(45)
  • Linux 打包Qt程序到无Qt环境Linux系统下运行,问题记录

    Linux 环境下Qt开发的摄像头程序用到了opencv的库,需要跟Qt环境一起打包。 1.打包所有关联库用的是脚本程序。 2.新建空文件夹放入编译好的release qt程序,比如摄像头程序 camera,新建打包脚本copylib.sh放在文件夹下。   3.终端执行 ./copylib.sh camera 会打包 camera程序所需的关联库。

    2024年02月16日
    浏览(33)
  • linux系统升级/更新OpenSSL版本操作流程记录

    问题描述:有时 OpenSSL 版本过老升级,或者需要更新 OpenSSL 版本 我的输入后版本信息为:OpenSSL 1.1.1g FIPS 21 Apr 2020 ,可以看到是一年前更新版本,是有些老。 登录 https://www.openssl.org/ 官网后,找到需要的版本 我这里选择 3.1 版本,进入后如下图: 我的输入后版本信息为:Op

    2024年02月07日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包