linux-系统性能监控

  • 一、cpu
    • 1.1 查看cpu的信息
    • 1.2 cpu性能指标
    • 1.3 编写监控cpu使用率的脚本
    • 1.4 查找出使用cpu最高的10个进程
  • 二、内存
    • 2.1 查看内存信息
    • 2.2 交换(swap)分区
      • 2.2.1 查看交换分区的积极程度
      • 2.2.2 查看交换分区的大小
      • 2.2.3 管理交换分区
    • 2.3 编写获取内存使用率的脚本
    • 2.4 查找出使用内存最高的10个进程
  • 三、磁盘
    • 3.1 查看磁盘信息
    • 3.2 测试磁盘性能
  • 四、网络流量
  • 五、进程
    • 5.1 查看进程
    • 5.2 杀死进程
    • 5.3 让进程在后台运行
  • 全能命令
  • 总结


一、cpu

中央处理器 central processing unit --》cpu

1.1 查看cpu的信息

  1. top --> 输入1 (默认按cpu使用率排序 -> P)
  2. htop
  3. lscpu
  4. cat /proc/cpuinfo
  5. dmidecode -t 4
    dmidecode 是 Linux 系统下用于读取 DMI(Desktop Management Interface,桌面管理接口) 信息的工具,可以获取 BIOS、主板、CPU、内存、系统序列号等硬件信息。它直接从 SMBIOS(System Management BIOS) 读取数据,适用于服务器、PC 等 x86/x86_64 架构的设备

查看服务器型号:dmidecode | grep ‘Product Name’
查看主板的序列号:dmidecode |grep ‘Serial Number’
查看系统序列号:dmidecode -s system-serial-number
查看内存信息:dmidecode -t memory
查看OEM信息:dmidecode -t 11


1.2 cpu性能指标

  1. 核心数量
  2. 主频率
    纳秒
    秒–》毫秒–》微妙–》纳秒
  3. 缓存(Cache)—》加速
    CPU 缓存(L1/L2/L3)用于临时存储高频数据,减少访问内存的延迟:
    Level 1
    Level 2
    Level 3
top - 15:00:30 up  5:39,  2 users,  load average: 0.30, 0.29, 0.27
Tasks: 185 total,   1 running, 184 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.3 sy,  0.0 ni, 99.2 id,  0.0 wa,  0.2 hi,  0.2 si,  0.0 st
MiB Mem :   7553.1 total,   6521.6 free,    507.4 used,    776.3 buff/cache
MiB Swap:   7940.0 total,   7940.0 free,      0.0 used.   7045.7 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                    31350 root      20   0       0      0      0 I   1.0   0.0   0:01.23 kworker/3:1-events                                                                                         571 root      20   0       0      0      0 S   0.3   0.0   0:12.67 xfsaild/dm-0                                                                                               31423 root      20   0       0      0      0 I   0.3   0.0   0:00.24 kworker/u512:1-events_unbound                                                                              31997 root      20   0   10816   4096   3328 R   0.3   0.1   0:00.34 top                                                                                                        1 root      20   0  170536  12928   9856 S   0.0   0.2   0:22.26 systemd                                                                                                    2 root      20   0       0      0      0 S   0.0   0.0   0:00.07 kthreadd         

系统平均负载是在过去的1分钟,5分钟,15分钟内,处于可运行或不可中断状态的进程的平均数量。
1 cup 核心 --》1
4 cpu 核心 --》4

%Cpu0 : 0.3 us, 0.7 sy, 0.0 ni, 98.3 id, 0.0 wa, 0.3 hi, 0.3 si, 0.0 st

文档解释

us, user : time running un-niced user processes
sy, system : time running kernel processes
ni, nice : time running niced user processes
id, idle : time spent in the kernel idle handler
wa, IO-wait : time waiting for I/O completion
hi : time spent servicing hardware interrupts
si : time spent servicing software interrupts
st : time stolen from this vm by the hypervisor

us user 进程消耗的cpu资源 --》普通的应用程序消耗的资源
sy system 进程消耗的cpu资源 —》内核进程

  • 网络IO 磁盘IO 大量产生进程—》内核
    内核的作用:
    1.对cpu进行管理(上下文切换、进程的调度到cpu)
    2.对磁盘进行管理–》文件的存取—》磁盘IO
    3.对进程进行管理(创建、销毁、杀死等)
    4.对内存进行分配管理
    5.对其他硬件进行管理(网卡、GPU等)

id —》空闲的cpu资源 idle
ni nice 友好的

进程是有优先级,默认情况下所有的进程优先级一样
cfs --》完全公平调度算法 --》rr +timeslice + priority +中断

PR = 20 + nice值

nice值
作用:调整进程的静态优先级,范围从 -20(最高优先级)到 19(最低优先级)。
默认值:新进程继承父进程的nice值(通常为 0)。
进程的默认优先级是20

PR 列:动态优先级(数值越小优先级越高)

renice 调整进程的nice值
如:调整进程为797 nice值

[root@rocky-2 shell]# renice -n -10 797


1.3 编写监控cpu使用率的脚本

monitor_cpu.sh
当cpu使用率超过70%给与提醒,记录到日志文件/var/log/monitor_cpu.log里,记录日期 机器名 + 当前的使用率

截取cpu使用率
top -bn1|grep "Cpu"|awk -F '[ ,]+' '{print $8}'

top命令
-b 批处理模式,适合脚本里使用,一次性输出所有的进程的信息和cpu、内存的信息
-n 1 迭代1次
-d 2 每次延迟2秒更新数据

awk 是截取命令
-F 指定分隔符号 ,默认是空白–》包含空格和tab

正则表达式: 将字符串,数字,特殊符号按照某个正确规则组合在一起,用来表达某个意思的公式
[ ,]+ 表示空格和逗号都是分隔符 + 表示前面的字符可以出现1或者n次 -> 多个空格或者多个,都是只能是一个分隔符
print 是awk里的输出命令
$8 代表第8个字段

[root@rocky-2 shell]# cat monitor_cpu.sh 
#!/bin/bash#cpu空闲率
cpu_idle_num=$(top -bn 1|grep "^%Cpu"|awk -F '[ ,]+' '{print $8}')#100 - 空闲率=使用率
cpu_used_num=$( echo "100 - $cpu_idle_num"|bc)#判断cpu的使用率是否超过70%
flag=$(echo "$cpu_used_num >= 70"|bc)
if  (( $flag == 1 ));thenecho "$(date +%Y%m%d%H%M%S) $(hostname) cpu使用率是 ${cpu_used_num}%" |tee -a /var/log/monitor_cpu.log
elseecho "$(date +%Y%m%d%H%M%S) $(hostname) cpu使用率是 ${cpu_used_num}%"
fi

1.4 查找出使用cpu最高的10个进程

ps -aux --sort -%cpu|head
ps -A -o pid,%cpu,command --sort -%cpu|head

-A 显示所有的进程
-o 指定输出字段 output option 选项字段
–sort 根据那列进行排序,默认是升序 + 升序 - 降序


二、内存

2.1 查看内存信息

  1. cat /proc/meminfo —>内存的使用信息–》整体信息

  2. free --》/proc/meminfo 获得,计算出来的

proc文件系统 --》/proc文件夹 --》对/proc文件进行管理的一套系统
/proc 文件夹消耗的空间是内存的空间,存放的是内核进程工作的信息和数据
/proc 是 Linux 系统中一个特殊的虚拟文件系统,它不占用磁盘空间,而是由内核动态生成,用于内核与用户空间交互

tmpfs 临时文件系统,消耗的是内存的空间,给应用程序临时存放数据 temporary file system

[root@rocky-2 proc]# df -a
文件系统               1K-块         已用     可用 已用% 挂载点
proc                       0        0        0     - /proc
sysfs                      0        0        0     - /sys
devtmpfs                4096        0     4096    0% /dev
securityfs                 0        0        0     - /sys/kernel/security
tmpfs                3867204        0  3867204    0% /dev/shm

free命令详解

total Total installed memory (MemTotal and SwapTotal in /proc/meminfo)
 
used Used memory (calculated as total - free - buffers - cache)
 
free Unused memory (MemFree and SwapFree in /proc/meminfo)
 
shared Memory used (mostly) by tmpfs (Shmem in /proc/meminfo)
 
buffers Memory used by kernel buffers (Buffers in /proc/meminfo)
 
cache Memory used by the page cache and slabs (Cached and SReclaimable in /proc/meminfo)
 
buff/cache
Sum of buffers and cache
 
available
Estimation of how much memory is available for starting new applications, without swapping. Unlike the data provided by the cache or free
fields, this field takes into account page cache and also that not all reclaimable memory slabs will be reclaimed due to items being in use
(MemAvailable in /proc/meminfo, available on kernels 3.14, emulated on kernels 2.6.27+, otherwise the same as free)

buffer 是缓存数据的空间 (data memory --》disk )内存当中的数据写入到磁盘的时候,临时存放数据的地方
data --》memory write to disk
cache 是缓存数据的空间 (data disk --》memory ) 应用程序需要从磁盘读取数据到内存里,临时存放数据的地方
data --》disk read to memory
buffer和cache 可以理解为内核消耗的内存空间 --》可以提供给应用程序使用
used是应用程序消耗的内存空间

available 可以使用的空间,当我们创建一个新的进程的时候,可以给这个进程分配的最大的内存空间

available = free + 可回收的buffer/cache
total = used + free + buffers + cache

建议只是看free剩余的内存空间

如何清除buffer和cache里的内容?
echo 3 >/proc/sys/vm/drop_caches


2.2 交换(swap)分区

物理内存+swap分区的大小 = 虚拟内存
8G + 8G = 16G

swap分区 :磁盘空间,将物理内存里的不活跃的进程交换到swap分区,当需要调用的时候再从交换分区里交换到物理内存里
临时存放数据的作用
如果交换分区开始使用,说明物理内存不足

OOM(Out Of Memory) --》 内存溢出

sync命令可以把linux缓存(buffer)写进磁盘

2.2.1 查看交换分区的积极程度

[root@rocky-2 ~]# cat /proc/sys/vm/swappiness
60
# 当物理内存使用率超过40%的时候,就开始使用swap分区

临时修改

root@sanchuang:~# echo 0 > /proc/sys/vm/swappiness
root@sanchuang:~# cat /proc/sys/vm/swappiness
0
# 0 表示当物理内存剩余0的时候开始使用,使用率100%的时候,开始使用交换分区

对内核参数的调优,优化了什么时候开始使用交换分区的空间

永久修改

[root@rocky-2 proc]# vim /etc/sysctl.conf
vm.swappiness = 0

让内核重新读取配置文件,加载新的参数

[root@rocky-2 proc]# sysctl -p
vm.swappiness = 0


2.2.2 查看交换分区的大小

[root@rocky-2 ~]# cat /proc/swaps
Filename Type Size Used Priority
/dev/dm-1 partition 8130556 0 -2

因为交换分区使用的是磁盘的空间,速度不及内存的速度,性能较差,在某些应用场景不推荐使用


2.2.3 管理交换分区

禁用交换分区

[root@rocky-2 ~]# swapoff -a
选项:
-a, --all 禁用 /proc/swaps 中的所有交换区

[root@rocky-2 ~]# cat /proc/swaps
Filename				Type		Size		Used		Priority
[root@rocky-2 ~]# 
[root@rocky-2 ~]# top
top - 11:29:37 up  2:10,  2 users,  load average: 0.15, 0.17, 0.19
Tasks: 188 total,   1 running, 187 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.4 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.1 hi,  0.2 si,  0.0 st
MiB Mem :   7553.1 total,   6810.4 free,    498.1 used,    487.0 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.   7055.0 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                     11720 root      20   0       0      0      0 I   1.0   0.0   0:03.73 kworker/3:3-events                          17 root      20   0       0      0      0 I   0.3   0.0   0:03.26 rcu_preempt                                 800 root      10 -10  168836   8960   7680 S   0.3   0.1   0:15.22 vmtoolsd   

RES - anything occupying physical memory 物理内存的使用空间
share 共享内存使用的大小

共享内存是实现进程和进程之间通信的一种方式

S – Process Status

  • The status of the task which can be one of:
    • D = uninterruptible sleep
    • I = idle
    • R = running
    • S = sleeping
    • T = stopped by job control signal
    • t = stopped by debugger during trace
    • Z = zombie

打开交换分区

[root@rocky-2 ~]# swapon -a
[root@rocky-2 ~]# cat /proc/swaps
Filename Type Size Used Priority
/dev/dm-1 partition 8130556 0 -2


2.3 编写获取内存使用率的脚本

monitor_mem.sh
使用的内存空间百分比=100-(free/total)*100

[root@rocky-2 ~]# free -m
total used free shared buff/cache available
Mem: 7553 512 6410 17 881 7040
Swap: 7939 0 7939

[root@rocky-2 shell]# vim monitor_mem.sh
#!/bin/bash#获取total值
total_num=$(free -m|grep "^Mem"|awk '{print $2}')
#获取free值
free_num=$(free -m|grep "^Mem"|awk '{print $4}')#使用内存的百分比
used_percent=$(echo "scale=2;100 - $free_num * 100 / $total_num"|bc)
echo "总的内存是 ${total_num}MB 目前系统已经使用了 ${used_percent}%"#判断使用率是否超过70%
flag=$(echo "$used_percent >= 70"|bc)if  (( $flag == 1 ));thenecho "$(date +%Y%m%d%H%M%S) $(hostname) 内存使用率超过70% 目前的值是 $used_percent" |tee -a /var/log/mem.log
elseecho "$(date +%Y%m%d%H%M%S) $(hostname) 内存使用率没有超过70% 目前的值是 $used_percent" 
fi
[root@rocky-2 shell]# bash monitor_mem.sh 
总的内存是 7553MB 目前系统已经使用了 7.13%
20250708171540 rocky-2 内存使用率没有超过70% 目前的值是 7.13

使用awk进行内存使用率的计算

[root@rocky-2 shell]# free -m|awk 'NR==2{printf "%.2f%%\n",$3/$2*100}'
6.65%


2.4 查找出使用内存最高的10个进程

ps -aux --sort -%mem|head
ps -A -o pid,%mem,command --sort -%mem|head


三、磁盘

3.1 查看磁盘信息

df -Th 查看磁盘里已经挂载的分区的使用的情况

iostat 查看磁盘读写的速度

iostat -x 2 5
-x 显示扩展统计信息
2表示间隔时间
5表示迭代显示5次
在这里插入图片描述
%util :繁忙度

sar -d 监控磁盘 I/O 性能

fdisk -l 查看磁盘分区


3.2 测试磁盘性能

dd 是一个数据备份的命令

dd if=/dev/zero of=sc.dd bs=1M count=1000

if input file 输入文件
/dev/zero 会产生零 0
of output file 输出文件
bs=1M 数据单元
count=1000 数量


四、网络流量

dstat 实时监控

在这里插入图片描述

glances 以交互式仪表盘的形式实时展示系统的 CPU、内存、磁盘、网络、进程等全方位性能指标

在这里插入图片描述

nethogs 查看某个进程消耗了多少流量


五、进程

5.1 查看进程

ps aux
top/htop
pstree
sar
lsof -i:22
lsof -p 25889

查看进程内存映射关系

[root@rocky-2 ~]# pmap 25889
25889: nginx: master process nginx
000055b7b1bce000 140K r---- nginx
000055b7b1bf1000 816K r-x-- nginx
000055b7b1cbd000 228K r---- nginx
000055b7b1cf6000 8K r---- nginx
000055b7b1cf8000 96K rw— nginx
000055b7b1d10000 124K rw— [ anon ]
000055b7b3810000 376K rw— [ anon ]
00007fb473a00000 160K r---- libc.so.6
00007fb473a28000 1492K r-x-- libc.so.6
00007fb473b9d000 352K r---- libc.so.6
00007fb473bf5000 16K r---- libc.so.6


5.2 杀死进程

kill

-15 默认的信号
15) SIGTERM 让进程自我终结

-9 告诉内核去强制杀死某个进程
9) SIGKILL

1) SIGHUP 父进程退出,会给子进程发HUP信号,内核去杀死所有 的收到hup信号的进程

屏蔽hup信号 nohup

nohup bash while.sh &
[1] 125508

根据名字杀死所有进程
pkill -9 vim
killall -9 vim

根据终端号来杀死进程
pkill -9 -t pts/0


5.3 让进程在后台运行

vim feng.txt &

在命令后使用 & 让程序在后台运行

查看当前终端有多少个进程在后台执行

[root@rocky-2 shell]# jobs
[1]+ 已停止 vim feng.txt

将后台运行的第1个进程调入前台运行
[root@rocky-2 shell]# fg 1 # foreground
vim feng.txt


全能命令

sar -u -r -d 1 5 -n DEV
sar:系统活动报告工具,用于收集和展示系统性能数据

  • -u:监控 CPU 使用率
  • -r:监控 内存和交换分区 使用情况
  • -d:监控 磁盘 I/O 性能(
  • 1 5:每 1 秒输出一次统计数据,共输出 5 次(
  • -n DEV:监控 网络接口流量

glances 跨平台的高级系统监控工具,它以交互式仪表盘的形式实时展示系统的 CPU、内存、磁盘、网络、进程等全方位性能指标,相比 top、htop 等工具更直观、功能更全面,支持本地和远程监控

dstat 是一款功能强大的系统性能监控工具,它整合了 vmstat、iostat、netstat 等传统工具的功能,支持实时监控 CPU、内存、磁盘 I/O、网络等多项系统指标,且输出格式更直观、灵活


总结

监控的核心价值是 “通过数据驱动,实现对被监控对象的可控性”—— 从实时状态感知到故障快速解决,从风险提前预警到资源优化配置,最终保障业务稳定运行、降低损失、提升效率,是现代 IT 系统和业务运营中不可或缺的一环

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

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

相关文章

AgxOrin平台JetPack5.x版本fix multi-cam race condition 补丁

本文包含三个针对NVIDIA Linux驱动程序的补丁修复: 多摄像头竞争条件修复 在capture-ivc驱动中新增信号量机制,解决多摄像头同时操作时的竞争条件问题(Bug 4425972)。主要修改包括在通道上下文结构中添加信号量,并在通道ID通知和取消注册时进行信号量操作。 内存泄漏修复…

【Go】P3 Go语言程序结构

Go语言程序结构Go语言程序结构命名规则与编程惯例核心规则四种声明语句详解var声明:变量声明const声明:常量声明type声明:类型定义func声明:函数声明简短变量声明(:)使用规则和限制指针:安全的内存地址操作基本概念和操…

【机器学习深度学习】知识蒸馏实战:让小模型拥有大模型的智慧

目录 引言:模型压缩的迫切需求 一、知识蒸馏的核心原理 1.1 教师-学生模式 1.2 软目标:知识传递的关键 1.3 蒸馏损失函数 二、实战:Qwen模型蒸馏实现 2.1 环境配置与模型加载 2.2 蒸馏损失函数实现 2.3 蒸馏训练流程 2.4 训练优化技…

基于MCP提示构建工作流程自动化的实践指南

引言 在现代工作和生活中,我们经常被各种重复性任务所困扰——从每周的膳食计划到代码审查反馈,从文档更新到报告生成。这些任务虽然不复杂,却消耗了大量宝贵时间。MCP(Model Context Protocol)提示技术为解决这一问题…

apache-tomcat-11.0.9安装及环境变量配置

一、安装从官网上下载apache-tomcat-11.0.9,可以下载exe可执行文件版本,也可以下载zip版本,本文中下载的是zip版本。将下载的文件解压到指定目录;打开tomcat安装目录下“\conf\tomcat-users.xml”文件;输入以下代码,pa…

Java 大视界 -- Java 大数据机器学习模型在电商用户生命周期价值评估与客户关系精细化管理中的应用(383)

Java 大视界 -- Java 大数据机器学习模型在电商用户生命周期价值评估与客户关系精细化管理中的应用(383)引言:正文:一、电商用户运营的 “糊涂账”:不是所有客户都该被讨好1.1 运营者的 “三大错觉”1.1.1 错把 “过客…

豆包新模型与PromptPilot工具深度测评:AI应用开发的全流程突破

目录引言一、豆包新模型技术解析1.1 豆包新模型介绍1.2 核心能力突破1.2.1 情感交互能力1.2.2 推理与编码能力二、PromptPilot工具深度测评2.1 PromptPilot介绍2.2 工具架构与核心功能2.3 一个案例讲通:市场调研报告2.3.1 生成Prompt2.3.2 批量集生成2.3.3 模拟数据…

【代码随想录day 12】 力扣 144.145.94.前序遍历中序遍历后序遍历

视频讲解:https://www.bilibili.com/video/BV1Wh411S7xt/?vd_sourcea935eaede74a204ec74fd041b917810c 文档讲解:https://programmercarl.com/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E9%80%92%E5%BD%92%E9%81%8D%E5%8E%86.html#%E5%85%B6%E4%BB%96%E8%A…

【Unity】 HTFramework框架(六十七)UDateTime可序列化日期时间(附日期拾取器)

更新日期:2025年8月6日。 Github 仓库:https://github.com/SaiTingHu/HTFramework Gitee 仓库:https://gitee.com/SaiTingHu/HTFramework 索引一、UDateTime可序列化日期时间1.定义UDateTime字段2.日期拾取器(编辑器)3…

Docker的安装,服务器与客户端之间的通信

目录 1、Docker安装 1.1主机配置 1.2apt源的修改 1.3apt安装 2、客户端与服务端通信 2.1服务端配置 2.1.1创建镜像存放目录 2.1.2修改配置文件 2.2端口通信 2.3SSH连接 2.3.1生成密钥 2.3.2传输密钥 2.3.3测试连接 1、Docker安装 1.1主机配置 我使用的两台主机是…

【算法专题训练】09、累加子数组之和

1、题目:LCR 010. 和为 K 的子数组 https://leetcode.cn/problems/QTMn0o/description/ 给定一个整数数组和一个整数 k ,请找到该数组中和为 k 的连续子数组的个数。示例 1: 输入:nums [1,1,1], k 2 输出: 2 解释: 此题 [1,1] 与 [1,1] 为两…

WinXP配置一键还原的方法

使用系统自带的系统还原功能:启用系统还原:右键点击 “我的电脑”,选择 “属性”,切换到 “系统还原” 选项卡,确保 “在所有驱动器上关闭系统还原” 未被勾选,并为系统驱动器(C:)设…

基于模式识别的订单簿大单自动化处理系统

一、系统概述 在金融交易领域,订单簿承载着海量的交易信息,其中大单的处理对于市场流动性和价格稳定性有着关键影响。基于模式识别的订单簿大单自动化处理系统旨在通过智能算法,精准识别订单簿中的大单特征,并实现自动化的高效处理…

table行内--图片预览--image

需求:点击预览,进行预览。支持多张图切换思路:使用插槽;src : 展示第一张图;添加preview-src-list ,用于点击预览。使用插槽(UI组件--> avue)column: 测试数据

560. 和为 K 的子数组 - 前缀和思想

560. 和为 K 的子数组 - 前缀和思想 在算法题中,前缀和是一种能快速计算 “数组中某段连续元素之和” 的预处理方法,核心思路是 “提前计算并存储中间结果,避免重复计算” 前缀和的定义: 对于一个数组 nums,我们可以创…

Python金融分析:从基础到量化交易的完整指南

Python金融分析:从基础到量化交易的完整指南 引言:Python在金融领域的核心地位 在量化投资规模突破5万亿美元的2025年,Python已成为金融分析的核心工具: 数据处理效率:Pandas处理百万行金融数据仅需2.3秒 策略回测速度:Backtrader框架使策略验证效率提升17倍 风险评估精…

MySQL 从入门到实战:全方位指南(附 Java 操作示例)

MySQL 入门全方位指南(附Java操作示例) MySQL 作为最流行的关系型数据库之一,广泛应用于各类应用开发中。本文将从安装开始,逐步讲解 MySQL 的核心知识点与操作技巧,并通过 Java 示例展示客户端交互,帮助你…

从低空感知迈向智能协同网络:构建智能空域的“视频基础设施”

✳️ 引言:低空经济起飞,智能视觉链路成刚需基建 随着政策逐步开放与技术加速成熟,低空经济正从概念走向全面起飞。从载人 eVTOL 到物流无人机,从空中巡检机器人到城市立体交通调度平台,低空场景正在成为继地面交通和…

Node.js- express的基本使用

Express 核心概念​ Express是基于Node.js的轻量级Web框架,封装了HTTP服务、路由管理、中间件等核心功能,简化了Web应用和API开发 核心优势​​ 中间件架构:支持模块化请求处理流程路由系统:直观的URL到处理函数的映射高性能&…

计算机网络:网络号和网络地址的区别

在计算机网络中,“网络号”和“网络地址”是两个密切相关但含义不同的概念,主要用于IP地址的划分和网络标识。以下从定义、作用、关联与区别等方面详细说明: 1. 网络号(Network Number)定义:网络号是IP地址…