嵌入式Linux中系统调试常用命令

在 Linux 中,获取系统信息和监控系统资源的操作是非常常见的任务。以下是一些常用的命令和工具,以及一些相关的系统文件,用于获取 Linux 系统信息和监控系统资源。

1. 基本系统信息

uname 命令

uname 命令用于显示系统信息。

  • 查看内核版本: uname -r

  • 查看操作系统: uname -a

$ uname -r
5.4.0-91-generic

$ uname -a
Linux example-host 5.4.0-91-generic #102-Ubuntu SMP Fri Nov 5 16:31:28 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

2. CPU 信息

lscpu 命令

lscpu 命令用于显示 CPU 信息。

$ lscpu
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
CPU(s):                          4
On-line CPU(s) list:             0-3
Thread(s) per core:              2
Core(s) per socket:              2
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           142
Model name:                      Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz
Stepping:                        12

3. 内存信息

free 命令

free 命令用于显示内存使用情况。

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           7.7G        2.5G        1.2G        340M        3.9G        4.8G
Swap:          2.0G          0B        2.0G

4. 硬盘信息

df 命令

df 命令用于显示磁盘空间使用情况。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        19G   11G  7.1G  61% /

5. 进程和系统负载

ps 命令

ps 命令用于显示进程信息。

  • 显示所有进程: ps aux

  • 按用户显示进程: ps -U username

  • 按进程树显示: ps -e --forest

$ ps aux
USER       PID  %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
user1     1234  10.0  1.0 123456  5678 pts/1    S+   Jan01  10:00 ./example

$ ps -e --forest
  PID TTY      STAT   TIME COMMAND
 1234 pts/1    S+     0:00  \_ ./example
top 命令

top 命令用于动态显示系统资源使用情况。

$ top

6. 网络信息

ifconfig 命令

ifconfig 命令用于显示网络接口信息。

$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.2  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::1234:5678:abcd:efgh  prefixlen 64  scopeid 0x20<link>
        ether 12:34:56:78:ab:cd  txqueuelen 1000  (Ethernet)
        RX packets 123456  bytes 78901234 (78.9 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 56789  bytes 12345678 (12.3 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
netstat 命令

netstat

命令用于显示网络连接、路由、接口等信息。

  • 显示所有网络连接: netstat -a

  • 显示路由表: netstat -r

  • 显示网络接口信息: netstat -i

$ netstat -a
$ netstat -r
$ netstat -i

7. 日志文件

Linux 系统的日志文件通常存储在 /var/log 目录下,其中一些常见的日志文件包括:

  • 系统日志: /var/log/syslog 或 /var/log/messages

  • 安全日志: /var/log/auth.log 或 /var/log/secure

  • 应用程序日志: /var/log/application.log

$ cat /var/log/syslog
$ cat /var/log/auth.log
$ cat /var/log/application.log

8. dmesg 命令

dmesg 命令用于显示内核环缓冲区的信息,提供有关系统启动和硬件事件的详细信息。

$ dmesg

9. lsblk 命令

lsblk 命令用于列出块设备(如磁盘分区)的信息。

$ lsblk

10. uptime 命令

uptime 命令用于显示系统的运行时间和平均负载。

$ uptime

11. ip 命令

ip 命令用于配置和显示网络设备、路由、策略路由等网络子系统的状态。

$ ip addr
$ ip route

12. /proc 文件系统

Linux 提供了 /proc 文件系统,通过读取其中的文件,可以获取有关系统和进程的信息。

  • CPU 信息: /proc/cpuinfo

  • 内存信息: /proc/meminfo

  • 进程信息: /proc/[PID]/status

$ cat /proc/cpuinfo
$ cat /proc/meminfo
$ cat /proc/1234/status

13. lsof 命令

lsof 命令用于列出打开文件的信息,可以用于查看进程使用的文件和网络连接。

$ lsof

14. journalctl 命令

journalctl 命令用于查询和显示 systemd 日志消息。

$ journalctl

15. sar 命令

sar 命令用于收集、报告和保存系统活动信息,例如 CPU 使用率、内存使用率、磁盘活动等。

$ sar

16. vmstat 命令

vmstat 命令用于报告虚拟内存统计信息,包括进程、内存、磁盘、交换等。

$ vmstat 1

17. iostat 命令

iostat 命令用于报告 CPU 使用率和磁盘 I/O 统计信息。

$ iostat

18. nstat 命令

nstat 命令用于显示网络统计信息。

$ nstat

19. iftop 命令

iftop 命令用于实时显示网络带宽使用情况。

$ iftop

20. htop 命令

htop 命令是一个交互式的系统监视工具,用于查看进程、内存、CPU 使用情况。

$ htop

21. lsmod 命令

lsmod 命令用于列出当前加载的内核模块。

$ lsmod

22. ulimit 命令

ulimit 命令用于查看和设置用户级别资源限制。

$ ulimit -a

23. watch 命令

watch 命令用于周期性地执行指定的命令,并显示结果。

$ watch -n 1 'ps aux'

24. tcpdump 命令

tcpdump 命令用于捕获和分析网络数据包。

$ tcpdump -i eth0

25. strace 命令

strace 命令用于跟踪进程执行时的系统调用和信号。

$ strace -p PID

以上是一些系统监控和调试工具,用于深入了解系统运行状况、性能特征和调试问题。这些工具在系统管理、性能优化和故障排查中都有广泛的应用。以上命令还有很多其他高级用法,在平时调试中我们可根据具体情况查看每个命令的详细参数和使用方法。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AcWing 122 糖果传递(贪心)

[题目概述] 有 n 个小朋友坐成一圈&#xff0c;每人有 a[i] 个糖果。 每人只能给左右两人传递糖果。 每人每次传递一个糖果代价为 1。 求使所有人获得均等糖果的最小代价。 输入格式 第一行输入一个正整数 n&#xff0c;表示小朋友的个数。 接下来 n 行&#xff0c;每行一个…

揭秘2024春晚刘谦魔术——代码还原

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、魔术大概流程 二、代码实现各个步骤 2.1 partition&#xff08;对半撕牌&#xff09; 2.2 bottom&#xff08;将 n 张牌置底…

Hive3.1.2——企业级调优

前言 本篇文章主要整理hive-3.1.2版本的企业调优经验&#xff0c;有误请指出~ 一、性能评估和优化 1.1 Explain查询计划 使用explain命令可以分析查询计划&#xff0c;查看计划中的资源消耗情况&#xff0c;定位潜在的性能问题&#xff0c;并进行相应的优化。 explain执行计划…

力扣---通配符匹配

题目描述&#xff1a; 给你一个输入字符串 (s) 和一个字符模式 (p) &#xff0c;请你实现一个支持 ? 和 * 匹配规则的通配符匹配&#xff1a; ? 可以匹配任何单个字符。 * 可以匹配任意字符序列&#xff08;包括空字符序列&#xff09;。 判定匹配成功的充要条件是&#xff…

GPT-4影响高度创新思维的领域(一)

GPT-4的应用范围不再局限于对现有信息的检索、整理和复述&#xff0c;而是进一步拓展到了诸如文学创作、科学假设生成、教育辅导、商业策略建议等需要高度创新思维的领域。这种独立思考和创新能力赋予了GPT-4作为虚拟助手时更加丰富多元的角色定位&#xff0c;使其成为一种强大…

VBAR设置方法

Uboot源码&#xff1a; /** Setup vector:* (OMAP4 spl TEXT_BASE is not 32 byte aligned.* Continue to use ROM code vector only in OMAP4 spl)*/ #if !(defined(CONFIG_OMAP44XX) && defined(CONFIG_SPL_BUILD))/* Set V0 in CP15 SCTLR register - for VBAR to …

SelfAttention|自注意力机制ms简单实现

自注意力机制学习有感 观看b站博主的讲解视频以及跟着他的pytorch代码实现mindspore的自注意力机制&#xff1a;up主讲的很好&#xff0c;推荐入门自注意力机制。 import mindspore as ms import mindspore.nn as nn from mindspore import Parameter from mindspore import …

LeetCode 0987.二叉树的垂序遍历:遍历时存节点信息,遍历完自定义排序

【LetMeFly】987.二叉树的垂序遍历&#xff1a;遍历时存节点信息&#xff0c;遍历完自定义排序 力扣题目链接&#xff1a;https://leetcode.cn/problems/vertical-order-traversal-of-a-binary-tree/ 给你二叉树的根结点 root &#xff0c;请你设计算法计算二叉树的 垂序遍历…

前端秘法进阶篇之事件循环

目录 一.浏览器的进程模型 1.进程 2.线程 二.浏览器的进程和线程 1. 浏览器进程 2. 网络进程 3. 渲染进程 三.渲染主线程 四.异步 五.优先级 1. 延时队列&#xff1a; 2.交互队列&#xff1a; 3.微队列&#xff1a; 六.JS 的事件循环 附加:JS 中的计时器能做到精…

XMall 开源商城 SQL注入漏洞复现(CVE-2024-24112)

0x01 产品简介 XMall 开源电商商城 是开发者Exrick的一款基于SOA架构的分布式电商购物商城 前后端分离 前台商城:Vue全家桶 后台管理:Dubbo/SSM/Elasticsearch/Redis/MySQL/ActiveMQ/Shiro/Zookeeper等。 0x02 漏洞概述 XMall 开源商城 /item/list、/item/listSearch、/sys/…

【Android】使用Android Studio打包APK文件

文章目录 1. 新建项目2. 打包生成APK3. 安装APK 1. 新建项目 打包APK之前&#xff0c;首先需要新建项目&#xff0c;有基础的可以跳过。 无基础的可以参考&#xff1a;使用Android Studio运行Hello World项目 2. 打包生成APK 1.找到Build -> Generate Signed Bundle or …

【C/C++语法基础】2.输入与输出(✨新手推荐阅读)

前言 在C中&#xff0c;输入与输出是程序与用户进行交互的基本方式。C提供了多种方式进行数据的输入与输出&#xff0c;其中最常用的是printf、scanf、cin和cout。此外&#xff0c;我们还会讨论如何取消cin和cout的同步流&#xff0c;以及了解各种转义字符的用法。 1.printf函…

arkTS开发鸿蒙OS个人商城案例【2024最新 新年限定开发案例QAQ】

龙年前述 源码获取>文章下方二维码&#xff0c;回复关键字“鸿蒙OS商场源码” 前言 arkTS是华为自己研发的一套前端语言&#xff0c;是在js和ts技术的基础上又进行了升级而成&#xff01; 本篇文章会带领大家通过arkTSnode.jsmongoDB来完成一个鸿蒙OS版本的商城案例&…

flask cors 跨域问题解决

座右铭&#xff1a;怎么简单怎么来&#xff0c;以实现功能为主。 欢迎大家关注公众号与我交流 环境安装 pip install -U flask-cors 示例代码 from flask import Flask from flask_cors import CORS, cross_originapp Flask(__name__) CORS(app, supports_credentialsTrue)…

__attribute__ ---Compile

Section for attribute attribute_&#xff1f;嵌入式C代码属性怎么定义 https://www.elecfans.com/d/2269222.html section 属性的主要作用是&#xff1a;在程序编译时&#xff0c;将一个函数或者变量放到指定的段&#xff0c;即指定的section 中。 一个可执行文件注意由代…

AI算法初识之分类汇总

一、背景 AI算法的分类方式多种多样&#xff0c;可以根据不同的学习机制、功能用途以及模型结构进行划分。以下是一些主要的分类方式及相应的代表性算法&#xff1a; 1. 按照学习类型 - **监督学习**&#xff1a; - 线性回归&#xff08;Linear Regression&#xff09; …

学会如何备份u盘数据,让数据安全有保障

随着科技的发展&#xff0c;U盘已成为我们日常生活和工作中不可或缺的数据存储设备。然而&#xff0c;无论U盘的质量如何&#xff0c;数据丢失的风险始终存在。可能是硬件故障、意外删除、病毒感染或其他不可预见的原因。 尽管当前提供了多种数据恢复方案&#xff0c;然而没有一…

【Midjourney】解密Midjourney付费订阅:畅享全新体验!(详细流程与各版本一览)

一、Midjourney 付费订阅流程 1、在首页点击Purchase plan 2、进入到midjourney年月选择页面 3、这里续费一个最便宜的版本 , 按年付费 8 , 按月 10 4、输入银行卡信息 , 用的WildCard虚拟信用卡 &#xff0c;打开 5、填写完银行卡信息就订阅成功 二、Midjourney 各版本介绍…

山西电力市场日前价格预测【2024-02-12】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2024-02-12&#xff09;山西电力市场全天平均日前电价为127.42元/MWh。其中&#xff0c;最高日前电价为369.24元/MWh&#xff0c;预计出现在18:45。最低日前电价为0.00元/MWh&#xff0c;预计出…

QT 菜单栏

添加/删除菜单栏 默认情况下QMainWindow项目一创建就自带了菜单栏&#xff0c;可以在对象树窗口中&#xff0c;右键菜单栏对象&#xff0c;移除菜单栏&#xff1a; 删除后也可以创建菜单栏&#xff0c;此时在对象树中右键MainWindow对象&#xff0c;菜单里边会多了创建菜单栏的…