[Linux CMD] 查看系统资源 (持续更新中)

news2024/9/25 7:20:19

概述 

在Linux中,有许多命令和工具可用于查看系统的资源使用情况。以下是一些常用的方式:

  1. toptop命令是最常见的实时系统监视工具之一。它显示了当前运行的进程列表,以及每个进程的CPU、内存使用情况、nice值等信息。top命令还会不断刷新数据,展示最新的系统状态。

  2. htophtoptop的一个增强版,提供了更好的可视化界面和更多功能,如颜色编码、水平滚动、搜索等功能。安装htop后,在终端输入htop即可使用。

  3. psps命令用于列出当前运行的进程。通过添加适当的选项,可以获取有关进程的各种信息,如CPU使用率、内存使用情况等。例如,ps -aux会显示所有进程的详细信息。

  4. freefree命令显示系统的内存使用情况,包括物理内存、交换内存和缓存等。

  5. vmstatvmstat报告虚拟内存统计信息,包括系统活动、进程状态、内存使用情况等。

  6. iostatiostat显示设备级别的I/O统计信息,如磁盘读写速率、CPU利用率等。

  7. dfdf命令显示文件系统的磁盘空间使用情况,包括已使用的空间、剩余的空间和总容量。

  8. dudu命令显示目录或文件所占的磁盘空间大小。

  9. netstatnetstat显示网络连接、路由表、接口统计等信息。

  10. ifconfigifconfig显示网络接口的配置信息,如IP地址、MAC地址、收发包数量等。

  11. lsoflsof列出系统中打开的文件,包括文件所属的进程、文件类型等信息。

  12. dmesgdmesg显示内核消息,包括硬件检测结果、错误信息等。

  13. sysstat:这是一个包含多种工具的软件包,如sar(系统活动报告)、iostatmpstat等,用于深入分析系统性能。

  14. System Monitor GUI:如果你使用的是图形化桌面环境,可以使用内置的系统监视器应用,如Gnome System Monitor、KSysGuard等。

  15. /proc/proc是一个虚拟文件系统,包含了大量关于系统和进程的信息。通过阅读/proc下的文件,可以获得各种系统信息。

  16. uname: 查看系统与内核相关信息

  17. uptime:查看系统启动时间与任务负载

一、实时系统监视 top

         top命令是Linux系统中常用的实时系统监视工具,它能够显示系统中各个进程的资源使用情况,包括CPU使用率、内存使用情况、进程状态等。要在终端中启动top,只需输入top命令并按回车键。top会立即显示当前系统状态,并持续刷新数据。

2.1 显示内容

        这张图片显示了一个典型的top命令输出,它提供了系统资源使用情况的实时概览。以下是各部分的解释:

  1. 标题行:顶部一行显示了当前时间、系统运行时间、登录用户数和平均负载。在这个例子中,系统已经运行了5天53分钟,没有用户登录,平均负载分别为0.52、0.58和0.59。

  2. 系统资源使用情况:接下来的一行显示了CPU和内存使用情况。在这个例子中,CPU使用率为5.3%(用户态+系统态),内存使用率为11796 MiB,交换空间使用了2399 MiB。

  3. 进程状态:第三行显示了进程总数、运行中的进程数、停止的进程数和僵尸进程数。在这个例子中,共有10个进程,1个正在运行,9个处于睡眠状态,没有停止或僵尸进程。

  4. CPU使用率:第四行显示了CPU使用率的细分,包括用户态、系统态、空闲态、等待I/O、硬件中断、软件中断和被偷取的时间。在这个例子中,用户态和系统态分别使用了5.3%,空闲态使用了89.3%,其余的百分比由其他状态占据。

  5. 内存使用情况:第五行显示了内存总量、空闲内存、缓冲区内存和可用内存。在这个例子中,总内存为16016.5 MiB,其中有3995.9 MiB空闲,11796.6 MiB未被使用,224.0 MiB作为缓冲区使用,还有4089.3 MiB可供使用。

  6. 交换空间使用情况:第六行显示了交换空间总量、空闲空间和使用空间。在这个例子中,总交换空间为29440.1 MiB,其中有27070.5 MiB空闲,2369.6 MiB被使用。

  7. 进程列表:剩下的部分是进程列表,每一行代表一个进程。列表的列包括:

    • PID:进程ID。
    • USER:进程的所有者。
    • PR:优先级。
    • NInice值。
    • VIRT:虚拟内存使用情况。
    • RES:常驻集大小,即非交换内存使用情况。
    • SHR:共享内存大小。
    • S:进程状态(R=运行、S=睡眠等)。
    • %CPU:CPU使用率。
    • %MEM:内存使用率。
    • TIME+:累计CPU时间。
    • COMMAND:进程名称。

在这个例子中,可以看到几个进程,包括initbashtop本身。top进程的CPU使用率为0.0%,内存使用率为0.0%,累计CPU时间为0秒。

 2.2 交互式操作

        top命令具有丰富的交互式功能,可以在运行过程中进行操作。按h键可以显示帮助信息,了解更多快捷键和操作。

刷新频率
  • 设置刷新频率:按 s 键,然后输入秒数,例如 5,表示每 5 秒刷新一次。
排序
  • 按 CPU 使用率排序:按 o 键,然后按 c 或 C 键,将按 CPU 使用率从高到低排序。
  • 按内存使用率排序:按 o 键,然后按 m 或 M 键,将按内存使用率从高到低排序。
进程操作      
  • 改变进程优先级

    • 选择一个进程:使用方向键将光标移动到想要操作的进程上。
    • 按 r 键,然后输入新的 nice 值(范围 -20 至 19),并按 Enter 确认。
  • 杀死进程

    • 选择一个进程:使用方向键将光标移动到想要操作的进程上。
    • 按 k 键,然后输入进程 ID 和要发送的信号(默认为 SIGTERM),并按 Enter 确认。
显示选项
  • 显示线程:按 H 键显示或隐藏线程信息。
  • 显示内存使用情况:按 m 键切换显示内存使用情况(总内存、空闲内存等)。
 常用快捷键
  • h:显示帮助信息。
  • H:显示线程信息。
  • m:切换显示内存使用情况(总内存、空闲内存等)。
  • w:保存当前 top 界面到文件。
  • s:设置更新间隔。
  • q:退出 top

四、查看内存 free 

        free 是一个常用的 Linux 命令,用于显示系统内存的使用情况。它可以提供有关物理内存、交换空间和共享内存的信息。  

4.1 基本语法 

free [选项]
选项
  • -h 或 --human-readable: 以人类可读的格式显示内存大小(例如,自动将字节转换为 KB, MB, GB 等)。
  • -m 或 --mega: 显示以兆字节 (MB) 为单位的内存大小。
  • -k 或 --kilo: 显示以千字节 (KB) 为单位的内存大小(这是默认值)
  • -g 或 --giga: 显示以吉字节 (GB) 为单位的内存大小。
  • -b 或 --bytes: 显示以字节 (B) 为单位的内存大小。
  • -l 或 --low: 显示低内存区域的使用情况(仅适用于某些系统)。
  • -t 或 --total: 在输出末尾添加一行汇总所有类型的内存。
  • -s 或 --seconds: 每秒更新一次显示结果,直到被中断。
  • -V 或 --version: 显示版本信息。
输出解释

free 命令的基本输出通常包含以下几行:

  • total: 总共可用的内存。
  • used: 当前使用的内存。
  • free: 当前未被任何进程使用的空闲内存。
  • shared: 被多个进程共享的内存总量。
  • buff/cache: 用于文件系统缓存和内核缓冲区的内存总量。
  • available: 可供新应用程序使用的内存量估计。
注意事项
  • buff/cache 列显示的是被用作文件系统缓存和内核缓冲区的内存。这部分内存可以很快地被释放出来供其他用途使用。
  • available 列显示的是系统可以分配给新的应用程序的内存量。这个值考虑了系统需要保持响应性的内存预留。
  • 通常情况下,即使 used 列显示大量的内存被使用,但只要 available 列显示有足够的内存,系统性能仍然应该是良好的。

4.2 示例

        假设我们的系统有 2848MB 的物理内存和 1GB 的交换空间,使用 free -m 命令后,输出可能如下所示:

             total       used       free     shared    buffers     cached   available
Mem:         2848       2142       706        0          0        1234       1942
Swap:         1024        0       1024
  • Mem:
    • total: 2848MB 的物理内存。
    • used: 2142MB 的物理内存被使用。
    • free: 706MB 的物理内存是真正空闲的。
    • buffers: 0MB 用于文件系统缓存。
    • cached: 1234MB 用于内核缓冲区。
    • available: 1942MB 的物理内存可供新进程使用。
  • Swap:
    • total: 1024MB 的交换空间。
    • used: 0MB 的交换空间被使用。
    • free: 1024MB 的交换空间是空闲的。
缓冲和缓存的作用
  • buffers/cached: 这些内存被系统用来缓存文件和其他数据,以便在需要时能够更快地访问它们,从而提高系统性能。
  • available: 这个数值表示在系统需要更多内存时可以迅速分配给新进程的内存量。即使 used 显示大量内存被占用,但只要 available 数值足够大,系统仍然能够高效运行。
内存使用建议
  • 实体内存使用: Linux 系统倾向于尽可能多地使用内存进行缓存和缓冲,这是为了提高文件和数据的读取速度。因此,即使 “used” 显示内存被大量占用也是正常现象。
  • swap 使用: 如果交换空间(swap)被大量使用(超过 20%),这通常表明实体内存不足。在这种情况下,考虑增加物理内存可能是更好的选择,因为频繁使用 swap 会导致系统性能下降。

4.3 缓存机制

        Linux系统为了提高系统性能,会将最常使用的或是最近使用到的文件数据缓存(cathe)下来,这样未来系统要使用该文件时,就可以直接由内存中查找取出,而不需要重新读取硬盘,速度自然就加快了。因此,物理内存被用光是正常的现象。

缓存的工作原理
  • 读取缓存 (read cache):当文件第一次被读取时,其内容会被复制到内存中的缓存区域。之后对该文件的读取操作可以直接从缓存中读取,而不需要访问磁盘。
  • 写入缓存 (write cache):类似地,当文件被修改时,更改的内容也会被暂存在内存中。随后的写入操作可以先更新缓存中的数据,然后系统会在适当的时候将这些更改同步到磁盘上。

缓存的好处

  • 提高性能:由于内存的访问速度远快于磁盘,使用缓存可以显著减少 I/O 操作的时间,进而提升整个系统的响应速度。
  • 减少磁盘 I/O:通过减少对磁盘的直接访问,可以减轻磁盘负担,延长磁盘寿命。
  • 优化资源利用:Linux 会尽可能利用空闲内存来缓存数据,这样即使看起来所有的内存都被“用光”了,实际上系统仍然可以高效运行。

物理内存的使用

  • 缓存和缓冲区:Linux 会使用一部分物理内存作为缓存和缓冲区,存储经常使用的文件数据。这部分内存被称为 buffers 和 cached
  • 可用内存:尽管 used 列显示了大量的内存被占用,但其中一部分实际上是用于缓存和缓冲的数据。这些数据在需要时可以迅速释放,以便为新的进程分配内存。因此,available 列显示了系统可以立即分配给新进程的内存量。

九、追踪网络或socket文件 netstat

        netstat(网络统计)是一个强大的命令行工具,用于显示网络连接、路由表、接口统计等网络相关信息。它可以帮助用户监控网络连接的状态以及查看端口监听情况。

9.1 基本使用

netstat [选项]

netstat 支持多种选项,用于定制输出的信息。常用的选项包括:

  • -a 或 --all: 显示所有连接(监听和非监听端口)。
  • -t 或 --tcp: 仅显示 TCP 协议的连接。
  • -u 或 --udp: 仅显示 UDP 协议的连接。
  • -n 或 --numeric: 不将 IP 地址转换为主机名,也不将端口号转换为服务名。
  • -l 或 --listening: 仅显示监听中的连接。
  • -p 或 --programs: 显示与每个连接或监听端口关联的进程 ID 和进程名称。
  • -r 或 --route: 显示路由表。
  • -i 或 --interfaces: 显示网络接口统计信息。
  • -s 或 --statistics: 显示协议统计数据(如 TCP 和 UDP 的统计数据)。
  • -e 或 --extend: 显示更多的信息,如连接的生命周期和错误计数等。
  • -b 或 --broadcaster: 显示广播地址。
  • -v 或 --verbose: 显示更详细的输出。
  • -x 或 --unix: 显示 Unix 域套接字。

netstat 命令的输出通常包括以下几个部分:

  • Active Internet connections (servers and established): 显示当前活跃的互联网连接。
  • Proto: 连接所使用的协议(如 TCP、UDP)。
  • Recv-Q: 接收队列的长度。
  • Send-Q: 发送队列的长度。
  • Local Address: 本地地址和端口号。
  • Foreign Address: 远程地址和端口号。
  • State: 连接的状态(如 LISTEN、ESTABLISHED、TIME_WAIT 等)。
  • PID/Program name: 关联的进程 ID 和程序名称(如果使用了 -p 选项)。

 9.2 显示所有活动的网络连接 -tulnp

netstat -tulnp

         查看所有活动的网络连接,这将列出所有 TCP 和 UDP 连接,以及对应的端口和进程 PID。

9.3 显示路由表信息 -r

netstat -r

        这将列出系统的路由表信息。

十二、分析内核产生的信息 dmesg

         dmesg 是一个 Linux 命令,用于显示或控制内核消息缓冲区。它主要用于查看系统启动时的内核日志信息,也可以用于实时监控内核事件。dmesg 提供了一个方便的方式来查看内核如何初始化硬件设备,以及在系统启动过程中发生的任何错误或警告。

dmesg [选项]

dmesg 命令支持多种选项,用于定制输出的信息。常用的选项包括:

  • -T 或 --time: 使用 ISO 8601 时间格式显示时间戳。
  • -c 或 --clear: 清除内核环形缓冲区的内容。
  • -n 或 --level: 设置消息级别,只显示指定级别及其以上级别的消息。例如 0(紧急)、1(警报)、2(错误)、3(警告)、4(通知)、5(信息)和 6(调试)。
  • -t 或 --timestamp: 显示带有时间戳的消息。
  • -w 或 --watch: 监视内核环形缓冲区的变化,实时显示新消息。
  • -x 或 --hex: 以十六进制格式显示消息。

dmesg 命令的输出通常包括以下几个部分:

  • 时间戳: 显示消息的时间戳。
  • 优先级: 消息的优先级级别。
  • 内核模块或设备: 生成消息的内核模块或设备。
  • 消息内容: 内核或设备的具体消息内容。

 当你在终端中运行 dmesg 命令时,它会显示内核消息缓冲区的所有内容。这些信息通常包含硬件检测过程、驱动加载、系统启动时的错误和警告等。例如,你可能会看到类似这样的输出:

[    0.000000] Linux version 5.15.0-1022-aws (buildd@lgw01-amd64-044) (gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #23-Ubuntu SMP Thu Mar 17 .jpg 20:59:59 UTC 2023 (Ubuntu 5.15.0-1022.23-generic 5.15.46)
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.15.0-1022-aws root=UUID=8e6f302a-301a-451c-b52a-20553151112e ro quiet splash vt.handoff=7
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Hygon HygonGenuine
[    0.000000]   Centaur CentaurHauls
...

12.1 dmesg | more 

dmesg | more 

        不管是启动的时候还是系统运行过程中,只要是内核产生的信息,都会被记录到内存的某个保护区域中。dmesg这个命令就能够将该区域的信息读出来。因为信息实在太多了,所以执行时可以加入这个管道命令【| more】来使得界面暂停。 

12.2 dmesg | grep -i vda 

dmesg | grep -i vda 

         查找启动的时候,硬盘的相关信息是什么?

        grep -i vda 意味着搜索不区分大小写的 "vda" 字符串。-i 标志告诉 grep 忽略字母的大小写差异。因此,dmesg | grep -i vda 将显示内核消息缓冲区中所有包含 "VDA"、"vda"、"Vda" 或 "vDa" 等字符串的行。 

        这条命令通常用于诊断与虚拟磁盘设备(如虚拟磁盘适配器或虚拟磁盘驱动器)相关的问题。如果你怀疑某个名为 "vda" 的设备存在问题,或者你想知道系统是如何识别和初始化它的,那么运行 dmesg | grep -i vda 可以帮助你找到答案。

十五、虚拟文件系统 /proc/*

         在Linux系统中,/proc是一个特殊且重要的文件系统,它主要用于提供关于系统和各个运行中进程的详细信息。/proc并不是一个实际位于硬盘上的文件系统,而是由内核动态生成的一个虚拟文件系统,这意味着它不会占用任何磁盘空间,所有的数据都是直接从内核内存中获取的。这一特性使得/proc成为了一个极其有效的工具,可用于监控系统状态、调试进程以及调整系统设置。

         对于每个正在运行的进程,/proc目录下都会有一个与之相对应的子目录,该子目录的名字即为该进程的PID(进程ID)。例如,如果有一个进程的PID为1234,则可以在/proc/1234中找到该进程的所有相关信息。这些信息包括但不限于进程的状态、打开的文件描述符、内存映射以及环境变量等。这些目录包含了该进程的各种信息,例如:

  • /proc/<pid>/cmdline 包含进程的命令行参数。
  • /proc/<pid>/status 包含进程的状态信息,如进程名、PID、PPID(父进程ID)、状态等。
  • /proc/<pid>/stat 包含进程的统计信息,如进程启动时间、CPU 使用情况等。
  • /proc/<pid>/maps 包含进程的内存映射信息。
  • /proc/<pid>/mem 允许直接访问进程的内存空间(通常受到限制)。

除了进程信息之外,/proc 文件系统还提供了许多其他有用的文件和目录:

  • /proc/cpuinfo 提供关于 CPU 架构和特性的信息。
  • /proc/meminfo 提供关于系统内存的统计信息,如总内存、可用内存等。
  • /proc/filesystems 列出系统支持的文件系统类型。
  • /proc/version 提供内核版本信息。
  • /proc/loadavg 提供系统的负载平均值。
  • /proc/modules 列出当前加载的内核模块。
  • /proc/sys 提供和修改系统内核参数,如网络配置、调度策略等。

        这些文件可以通过简单的cat命令来查看内容,例如使用cat /proc/meminfo来查看内存使用情况,或者使用cat /proc/cpuinfo来查看CPU信息。

示例

  • 要查看系统的总内存,可以执行 cat /proc/meminfo | grep MemTotal
  • 要查看内存信息,可以执行 cat /proc/meminfo 
  • 要查看 CPU 信息,可以执行 cat /proc/cpuinfo
  • 要查看某个进程的状态,可以执行 cat /proc/<pid>/status
  • 要查看进程的内存映射信息,可以执行 cat /proc/<pid>/maps

         此外,还有一些文件允许用户通过写入特定值来改变系统的行为或配置,这为系统管理和调试提供了极大的灵活性。 虽然 /proc 提供了大量的信息,但某些文件可能暴露敏感信息,因此需要谨慎使用。频繁访问 /proc 文件可能会对系统性能产生轻微的影响,因为它涉及到内核态和用户态之间的切换。

十六、查看系统与内核信息 uname

        uname 命令在 Linux 中用于显示有关当前运行的操作系统内核的信息。这个名字来源于 "UNix Name",因为它最初是在 Unix 系统中使用的。

uname [选项]
  • -a 或 --all:显示所有信息,包括内核名称、内核版本、主机名、硬件平台、操作系统名称等。
  • -r 或 --kernel-release:显示内核版本号。
  • -v 或 --kernel-version:显示详细的内核版本信息。
  • -m 或 --machine:显示硬件架构(CPU 类型)。
  • -p 或 --processor:显示处理器类型。
  • -i 或 --hardware-platform:显示硬件平台信息。
  • -o 或 --operating-system:显示操作系统名称。

 举个例子,如果你在终端输入 uname -a,你将会看到类似如下的输出:

Linux localhost.localdomain 5.15.0-1022-aws #23-Ubuntu SMP Thu Mar 17 .jpg 20:59:59 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

 这条输出包含了以下信息:

  • Linux:内核名称。
  • localhost.localdomain:主机名。
  • 5.15.0-1022-aws:内核版本。
  • #23-Ubuntu SMP Thu Mar 17 .jpg 20:59:59 UTC 2023:内核编译日期和其他细节。
  • x86_64:硬件架构(64位)。
  • GNU/Linux:操作系统名称。

十七、查看系统启动时间与任务负载 uptime

         uptime 命令在 Linux 中用于显示系统已经运行了多久、当前时间、登录用户数量、以及过去一段时间内的系统负载平均值。这对于了解系统的运行状况非常有用。

uptime [选项]

uptime 命令的选项相对较少,主要是:

  • -p 或 --pretty: 以更友好的格式显示系统运行时间。
  • -s 或 --since: 显示系统启动的确切日期和时间。
  • -r 或 --pretty-seconds: 类似于 -p,但以更详细的格式显示运行时间,包括秒数。

uptime 命令通常显示以下信息:

  • 当前时间: 系统当前的时间。
  • 系统运行时间: 系统已经连续运行了多少时间。
  • 登录用户数量: 当前登录到系统的用户总数。
  • 负载平均值: 过去 1 分钟、5 分钟和 15 分钟内的平均负载。

 运行 uptime 命令可能得到这样的输出:

10:15:00 up 3 days,  2:17,  2 users,  load average: 0.45, 0.56, 0.60

这里的信息可以解释为:

  • 10:15:00: 当前系统时间。
  • up 3 days, 2:17: 系统已经连续运行了 3 天 2 小时 17 分钟。
  • 2 users: 目前有 2 个用户登录到系统。
  • load average: 过去 1 分钟、5 分钟和 15 分钟内的平均负载分别为 0.45、0.56 和 0.60。

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

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

相关文章

【Linux】简易日志工具项目

有些鸟儿是不应该被关在笼子里的&#xff0c; 因为他们的羽毛太丰润了。 当他们飞走&#xff0c;你会由衷地庆贺他获得自由。 --- 肖申克的救赎》--- 从零开始构建简易日志系统 1 日志1.1 什么是日志1.2 日志的意义1.3 为什么要构建自己的日志工具 2 构建自己的日志工具2.1…

带有限制编辑的PDF文件怎么取消编辑限制

在日常工作和学习中&#xff0c;我们经常会遇到一些带有“限制编辑”的PDF文件。这些文件由于设置了密码保护&#xff0c;使得我们无法直接编辑、复制或打印其中的内容&#xff0c;给信息的处理和利用带来了诸多不便。然而&#xff0c;通过一些有效的方法和工具&#xff0c;我们…

C++—八股文总结(25秋招期间一直更新)

1、const 1.1 指针常量和常量指针 说说const int *a, int const *a, const int a, int *const a, const int *const a分别是什么&#xff0c;有什么特点。 const int *aint const *a; //可以通过 a 访问整数值&#xff0c;但不能通过 a 修改该整数的值&#xff0c;指针本身是…

【AI赋能游戏】《黑神话:悟空》专属黑悟空无限创意生成器!(整合包分享)

最近最火的话题&#xff0c;肯定就是《黑神话&#xff1a;悟空》了&#xff01;这游戏实在是忒火火火了。。。全网破圈霸屏&#xff0c;连官媒央视都给了无死角宣传&#xff01; 《黑神话&#xff1a;悟空》登顶Steam历史售卖榜&#xff0c;同时在线玩家冲到了最高**222**万人&…

8.22-docker的部署及其使用

docker 1.docker环境部署以及语法 [rootdocker ~]# cat << EOF | tee /etc/modules-load.d/k8s.conf> overlay> br_netfilter> EOFoverlaybr_netfilter[rootdocker ~]# modprobe overlay[rootdocker ~]# modprobe br_netfilter[rootdocker ~]# cat /etc/module…

【个人学习】JVM(8): 对象的实例化、内存布局、访问定位

对象的实例化内存布局与访问定位 对象的实例化 对象创建的方式 new&#xff1a;最常见的方式、单例类中调用getInstance的静态类方法&#xff0c;XXXFactory的静态方法Class的newInstance方法&#xff1a;在JDK9里面被标记为过时的方法&#xff0c;因为只能调用空参构造器&am…

Ignition Gateway配置

Config-System backup和restore&#xff1a; backup可以直接备份整个gateway配置&#xff0c;包括所有项目。 restore可以恢复gateway配置&#xff0c;包括所有项目。

pytorch基础学习

环境安装 mac安装conda&#xff08;为什么安装conda? conda类似沙箱&#xff0c;将一个一个环境隔离起来&#xff0c;解决Python工程之前的包冲突问题&#xff09; 下载Miniconda安装器:https://docs.conda.io/en/latest/miniconda.html 执行dmg安装。 安装完成后&#xff0c…

C++对象初始化

背景 最近在编译一个库的时候发现有个编译错误&#xff0c;最后发现是初始化对象的时候出了问题&#xff0c;这里简单记录一下&#xff1a; #include <iostream>class A { public:int m_a; }; class C { public:int m_c;operator A(){}; }; class B { public:B(){};B (…

探寻孩子自闭症之因:为 “星星的孩子” 寻找答案

在这个丰富多彩的世界里&#xff0c;有一群特殊的孩子&#xff0c;他们仿佛来自遥远的星球&#xff0c;沉浸在自己的独特世界中&#xff0c;难以与外界进行有效的沟通和互动。他们是自闭症儿童&#xff0c;也被称为 “星星的孩子”。那么&#xff0c;为什么孩子会患上自闭症呢&…

大语言模型私有化部署和个性化调优的技术实践

简介 本文介绍如何在不依赖任何三方服务的情况下&#xff0c;私有化部署和使用大语言模型&#xff0c;以及如何以较低成本让大语言模型使用自己的数据来产生个性化输出。 本文偏技术向&#xff0c;读者需要具备一定技术背景&#xff0c;如有不懂之处&#xff0c;欢迎留言交流…

ARM——驱动——inmod加载内核模块

在上一篇文章的代码上添加出错处理 #include <linux/init.h> // 包含初始化宏和函数 #include <linux/kernel.h> // 包含内核函数和变量 #include <linux/fs.h> // 包含文件操作的结构和函数 #include <linux/kdev_t.h> /…

记忆化搜索与状态压缩:优化递归与动态规划的利器

记忆化搜索是解决递归和动态规划问题的一种高效优化技术。它结合了递归的灵活性和动态规划的缓存思想&#xff0c;通过保存已经计算过的子问题结果&#xff0c;避免了重复计算&#xff0c;大幅提升了算法的效率。当问题状态复杂时&#xff0c;状态压缩技术可以进一步优化空间使…

密码生成器(HTML+CSS+JavaScript)

&#x1f30f;个人博客主页&#xff1a;心.c ​ 前言&#xff1a;前两天写了密码生成器&#xff0c;现在跟大家分享一下&#xff0c;大家如果想使用随便拿&#xff0c;如果哪里有问题还请大佬们给我指出&#xff0c;感谢支持 &#x1f525;&#x1f525;&#x1f525;专题文章&…

《断点回归的非参数估计及 Stata 实现》

目录 一、引言 二、文献综述 三、理论原理 四、实证模型 五、稳健性检验 六、程序代码及解释 七、代码运行结果及解释 一、引言 断点回归&#xff08;Regression Discontinuity&#xff0c;RD&#xff09;设计是一种准实验方法&#xff0c;用于评估政策或干预措施的因果…

鉴权Cookies、授权session、token

2 鉴权、授权 区别&#xff1a;一个存在浏览器&#xff0c;一个存在服务器&#xff0c;session存到服务端当中 问1&#xff1a;http协议是一个典型的无状态协议&#xff0c;无记忆&#xff0c;那第一次登录下次是不是还要登录一次&#xff1f; ANS&#xff1a;不需要 因为Co…

C++设计模式3:工厂模式

工厂模式都是在那种有着大量类的程序里面使用的&#xff0c;比如我突然要产生许多的类&#xff0c;这时候就可以用工厂模式&#xff0c;工厂模式有如下三种类型。 简单工厂 用户输入实例化的信息(比如产品名称)&#xff0c;向工厂申请对象&#xff0c;工厂返回相应的对象&…

npm install报错,解决记录:11个步骤诊断和解决问题

在处理npm install报错时&#xff0c;可以遵循以下步骤来诊断和解决问题&#xff1a; 查看错误信息&#xff1a; 错误信息通常会给出问题的线索&#xff0c;例如依赖包版本冲突、网络问题、权限问题等。 更新npm和Node.js&#xff1a; 首先尝试更新npm和Node.js到最新版本&…

地平线—征程2(Journey 2-J2)芯片详解(16)—DDR系统

写在前面 本系列文章主要讲解地平线征程2(Journey 2-J2)芯片的相关知识,希望能帮助更多的同学认识和了解征程2(Journey 2-J2)芯片。 若有相关问题,欢迎评论沟通,共同进步。(*^▽^*) 错过其他章节的同学可以电梯直达目录↓↓↓ 地平线—征程2(Journey 2-J2)芯片详解…

新开发体育直播平台的创业指南:降低赛事版权成本方法

在全球化浪潮下&#xff0c;体育赛事已成为连接世界各地观众的情感纽带&#xff0c;其巨大的影响力不仅激发了全球观众的热情&#xff0c;也催生了体育赛事直播行业的蓬勃发展。然而&#xff0c;高昂的版权费用如同一道难以逾越的门槛&#xff0c;让众多新进入者和小型体育直播…