嵌入式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 -htotal        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 --forestPID TTY      STAT   TIME COMMAND1234 pts/1    S+     0:00  \_ ./example
top 命令

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

$ top

6. 网络信息

ifconfig 命令

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

$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.1.2  netmask 255.255.255.0  broadcast 192.168.1.255inet6 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 0TX 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

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python】高级数据类型

&#x1f6a9; WRITE IN FRONT &#x1f6a9; &#x1f50e; 介绍&#xff1a;"謓泽"正在路上朝着"攻城狮"方向"前进四" &#x1f50e;&#x1f3c5; 荣誉&#xff1a;2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

洛谷C++简单题小练习day11—字母转换,分可乐两个小程序

day11--字母转换--2.14 习题概述 题目描述 输入一个小写字母&#xff0c;输出其对应的大写字母。例如输入 q[回车] 时&#xff0c;会输出 Q。 代码部分 #include<bits/stdc.h> using namespace std; int main() { char n;cin>>n;cout<<char(n-32)<…

C++:Level1阶段测试

总结。 只要你看过我的文章&#xff0c;哪怕只是一半&#xff0c;一定能够过关&#xff01; 准备好开始测试氻吗&#xff1f; 选择题&#xff0c;每题4分&#xff0c;共40分 1、 DevC的项目创建按钮是_____ A、文件[F]” → “新建[N]” → “项目[P]... B、工具[T]” → …

TMGM外汇平台,澳网的官方赞助商

TMGM澳洲总部公司很高兴地通知大家&#xff0c;为了带给客户们更优质的交易环境体验&#xff0c;我们预计将于2024年2月上线MT5交易平台TMGM作为2021-2023 澳网的官方赞助商&#xff0c;能见证郑钦文取得如此的成就由衷的为她感到骄傲&#xff01;本届澳网&#xff0c;TMGM邀请…

操作系统(14)----文件系统的结构

目录 一.文件系统的层次结构 1.用户接口&#xff1a; 2.文件目录系统&#xff1a; 3.存取控制模块&#xff1a; 4.逻辑文件系统与文件信息缓冲区&#xff1a; 5.物理文件系统&#xff1a; 二.文件系统的全局结构 1.文件系统在外存中的结构 &#xff08;1&#xff09;物…

算法学习——LeetCode力扣贪心篇2

算法学习——LeetCode力扣贪心篇2 45. 跳跃游戏 II 45. 跳跃游戏 II - 力扣&#xff08;LeetCode&#xff09; 描述 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 num…

算法详解(力扣141——环形链表系列)

博主ID&#xff1a;代码小豪 文章目录 环形链表环形链表的性质分析快慢指针法指针的追及相遇问题 环形链表&#xff08;2&#xff09; 环形链表 先来看看环形链表的原题&#xff1a; 中间的部分叙述有点繁杂&#xff0c;简单来概括就是&#xff0c;假如有一个节点&#xff0c…

Java微服务学习Day2

文章目录 Nacos配置管理统一配置管理配置热更新![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/c8a2d17baeef411980b44b432eb9692a.png)配置共享搭建Nacos集群 Feign远程调用介绍自定义配置性能优化最佳实践 Gateway服务网关介绍搭建网关服务路由断言工厂路由过滤器…

【Django】Django内建用户系统

Django内建用户系统 14.1 Django中的用户认证 Django带有一个用户认证系统系统&#xff0c;它处理用户用户账号、组、权限以及基于cookie的用户会话。 用户可以直接使用Django自带的用户表。 官方文档&#xff1a;https://docs.djangoproject.com/zh-hans/2.2/topics/auth/ …

Hadoop-Yarn-ResourceManagerHA

在这里先给屏幕面前的你送上祝福&#xff0c;祝你在未来一年&#xff1a;技术步步高升、薪资节节攀升&#xff0c;身体健健康康&#xff0c;家庭和和美美。 一、介绍 在Hadoop2.4之前&#xff0c;ResourceManager是YARN集群中的单点故障 ResourceManager HA是通过 Active/St…

2024年,要特别注意这两个方位

家居风水对每个家庭都非常重要&#xff0c;可在无形中影响到人们的事业、财富以及健康运势。俗话说&#xff1a;“风水轮流转”&#xff0c;2024年为甲辰龙年&#xff0c;斗转星移、九宫飞星将改变宫位&#xff0c;新一年的磁场即将启动&#xff0c;方位的吉凶也会重新变动&…

[缓存] - 1.缓存共性问题

1. 缓存的作用 为什么需要缓存呢&#xff1f;缓存主要解决两个问题&#xff0c;一个是提高应用程序的性能&#xff0c;降低请求响应的延时&#xff1b;一个是提高应用程序的并发性。 1.1 高并发 一般来说&#xff0c; 如果 10Wqps&#xff0c;或者20Wqps &#xff0c;可使用分布…