当前位置: 首页 > news >正文

linux 性能60秒分析

linux 60秒分析

  • 需要运行的工具是
1、uptime
2、dmesg | tail
3、vmstat 1
4、mpstat -P ALL 1
5、pidstat 1
6、iostat -xz 1
7、free -m
8、sar -n DEV 1
9、sar -n TCP,ETCP 1
10、top
uptime
  • 快速检查平均负载
[root@aaaaaa ~]# uptime15:17:20 up 3 days, 14 min,  7 users,  load average: 0.58, 0.88, 0.95
  • 1分钟/5分钟/15分钟 负载
  • 判断 性能问题是否还存在
  • 较高的15分钟负载,较低的1分钟负载同时出现,需要排查的问题已经失效
dmesg |tail
  • 显示过去10条系统日志
[root@aaaaaa ~]# dmesg |tail
[260546.491003] br-bff1beb338f3: port 4(vetha64d524) entered disabled state
[260546.577708] eth0: renamed from vethf286056
[260546.582137] IPv6: ADDRCONF(NETDEV_CHANGE): vetha64d524: link becomes ready
[260546.582280] br-bff1beb338f3: port 4(vetha64d524) entered blocking state
[260546.582281] br-bff1beb338f3: port 4(vetha64d524) entered forwarding state
[260546.691560] vethf286056: renamed from eth0
[260546.754205] br-bff1beb338f3: port 4(vetha64d524) entered disabled state
[260546.754745] br-bff1beb338f3: port 4(vetha64d524) entered disabled state
[260546.756142] device vetha64d524 left promiscuous mode
[260546.756157] br-bff1beb338f3: port 4(vetha64d524) entered disabled state
  • 如果有问题,在这里可以寻找可能导致性能问题的错误,会有报错日志
  • 根据报错的日志,然后定位下一步排查的方向
vmstat 1
  • 虚拟内存统计工具
[root@aaaaaa ~]#  vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st2  0      0 17271152   3200 9848856    0    0     4    42   16   31  1  3 97  0  01  0      0 17270972   3200 9848896    0    0     0    14 3490 5815  1  1 98  0  00  0      0 17270972   3200 9848896    0    0     0    40 3568 5930  1  2 98  0  01  0      0 17280152   3200 9848904    0    0     0    82 6250 10611  1  3 96  0  00  0      0 17284124   3200 9848904    0    0     0    20 4622 7903  1  2 97  0  00  0      0 17284188   3200 9848904    0    0     0    18 3482 5913  1  2 98  0  00  0      0 17283784   3200 9848904    0    0     0    38 3528 5929  1  2 97  0  00  0      0 17282672   3200 9849244    0    0     0  1787 6921 11595  2  8 90  0  00  0      0 17283444   3200 9849072    0    0     0    96 4047 7017  1  2 98  0  03  0      0 17306168   3200 9849080    0    0     0   348 4493 7280  1  3 96  0  0
  • 第一行输出是自系统启动后的统计值,内存相关的计数器除外
  • 需要检查的列如下
r:CPU上正在执行和等待执行的进程数量,r值比CPU多代表CPU资源处于饱和状态
free:空闲内存,单位是KB,数字越大,内存越宽松
si和so:页换人和页换出,值不为0则系统内存紧张,开启交换分区后才会起作用
us、sy、id、wa、st:用户态时间,系统态时间,空闲,等待I/O,被窃取时间(虚拟环境,被其他客户机挤占时间)
  • 根据相应的数据,定位问题,比如CPU时间主要花费在用户态上,下一步主要针对用户态代码进行分析
mpstat -P ALL 1
  • 将每个CPU分解到各个状态下的时间打印出来
[root@aaaaaa ~]# mpstat -P ALL 1
Linux 4.18.0-305.el8.x86_64 (aaaaaa.com)        07/25/2024      _x86_64_        (4 CPU)03:49:34 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
03:49:35 PM  all    0.76    0.00    1.53    0.00    0.51    0.51    0.00    0.00    0.00   96.69
03:49:35 PM    0    1.01    0.00    2.02    0.00    1.01    0.00    0.00    0.00    0.00   95.96
03:49:35 PM    1    0.00    0.00    2.06    0.00    1.03    0.00    0.00    0.00    0.00   96.91
03:49:35 PM    2    1.02    0.00    1.02    0.00    0.00    1.02    0.00    0.00    0.00   96.94
03:49:35 PM    3    1.01    0.00    1.01    0.00    0.00    1.01    0.00    0.00    0.00   96.97
  • 假如CPU 0的用户态占比高达 100%,则是单个线程遇到瓶颈的特征
  • 若是较高的 %iowait,需要使用磁盘I/O工具进一步分析
  • 若是出现较高的 %sys值,可以使用系统调用syscall跟踪和内核跟踪,以及CPU剖析手段进一步分析
pidstat 1
  • 按每个进程展示CPU的使用情况
[root@aaaaaa ~]# pidstat 1
Linux 4.18.0-305.el8.x86_64 (aaaaaa.com)        07/25/2024      _x86_64_        (4 CPU)03:58:16 PM   UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
03:58:17 PM     0      1153    0.00    0.99    0.00    0.00    0.99     3  containerd
03:58:17 PM  1003      1223    0.00    1.98    0.00    0.00    1.98     1  tikv-server
03:58:17 PM  1003      1227    3.96    5.94    0.00    0.00    9.90     3  pd-server
03:58:17 PM  1003      1229    0.99    1.98    0.00    0.00    2.97     0  tidb-server
03:58:17 PM  1003      1275    0.00    0.99    0.00    0.00    0.99     3  ng-monitoring-s
03:58:17 PM     0      1598    0.00    0.99    0.00    0.00    0.99     3  dockerd
03:58:17 PM   974      2592    0.99    0.99    0.00    0.00    1.98     3  engine
03:58:17 PM     0      4859    0.99    0.00    0.00    0.00    0.99     3  gvfs-udisks2-vo
03:58:17 PM     0   2198297    0.00    0.99    0.00    0.00    0.99     2  pidstat03:58:17 PM   UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
03:58:18 PM  1003      1223    0.00    2.00    0.00    0.00    2.00     1  tikv-server
03:58:18 PM  1003      1227    6.00    5.00    0.00    0.00   11.00     3  pd-server
03:58:18 PM  1003      1229    1.00    4.00    0.00    0.00    5.00     0  tidb-server
03:58:18 PM  1003      1275    0.00    1.00    0.00    0.00    1.00     3  ng-monitoring-s03:58:18 PM   UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
03:58:19 PM  1003      1223    0.00    3.00    0.00    0.00    3.00     1  tikv-server
03:58:19 PM  1003      1227    4.00    7.00    0.00    0.00   11.00     3  pd-server
03:58:19 PM  1003      1229    0.00    3.00    0.00    0.00    3.00     0  tidb-server
03:58:19 PM     0   2198297    0.00    1.00    0.00    0.00    1.00     2  pidstat
  • 默认支持滚动打印输出,采集不同时间段的数据变化
  • CPU的百分比是 全部CPU相加的和
iostat -xz 1
  • 显示了存储设备的I/O指标
[root@iZt4n613wtbscz79890ik3Z grata]# iostat -xz 1
Linux 3.10.0-957.21.3.el7.x86_64 (iZt4n613wtbscz79890ik3Z)      07/25/2024      _x86_64_        (4 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle1.00    0.00    0.25    0.16    0.00   98.59Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               1.26     6.09    4.48    5.90   168.99    73.58    46.73     0.11   14.19   24.81    6.13   0.32   0.33
  • 需要检查的列如下
r/s、w/s、rkB/s、wkB/s:每秒向设备返送的读、写次数,读、写字节数。可以利用这些指标对业务负载进行画像来评判是否是性能问题
await:I/O的平均响应时间,毫秒为单位,应用需要承受的时间,包含I/O队列时间和服务时间。超过预期的平局响应时间,可看作设备已饱和或者设备层面有问题的表征
avgqu-sz:设备请求队列的平均长度。比1大的值有可能是发生饱和的表征。对于多块磁盘的虚拟设备来说,通常以并行的方式处理请求
%util:设备使用率。设备繁忙程度的百分比,显示了每秒设备开展实际工作的时间占比。大于60%的值通常会导致性能变差,可以通过await字段确认接近100%的值通常代表了设备达到饱和测状态
free -m
  • 输出显示了使用兆字节(MB)作为单位的可用内存。
[root@aaaaaa ~]# free -mtotal        used        free      shared  buff/cache   available
Mem:          31933        5504       16624         374        9805       25604
Swap:         16127           0       16127
  • 检查可以用内存 available 是否接近0
  • 显示了系统中还有多少实际剩余内存可用,包括缓冲区和页缓存区
sar -n DEV 1
  • 查看网络设备指标
[root@aaaaaa ~]# sar -n DEV 1
Linux 4.18.0-305.el8.x86_64 (aaaaaa.com)        07/25/2024      _x86_64_        (4 CPU)05:36:45 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
05:36:46 PM veth0b422ee      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:46 PM vethf63044a     11.00     10.00      0.77      1.78      0.00      0.00      0.00      0.00
05:36:46 PM        lo    211.00    211.00     81.49     81.49      0.00      0.00      0.00      0.00
05:36:46 PM veth013bc86      2.00      2.00      0.13      0.36      0.00      0.00      0.00      0.00
05:36:46 PM veth49c91fb      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:46 PM br-bff1beb338f3     13.00     12.00      0.72      2.13      0.00      0.00      0.00      0.00
05:36:46 PM vetha675b99      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:46 PM virbr0-nic      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:46 PM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:46 PM    ens160     21.00     22.00      2.64      1.92      0.00      0.00      0.00      0.00
05:36:46 PM    ens192      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:46 PM br-86e8f1f53da9      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:46 PM    virbr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:46 PM veth046f110      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:46 PM vethdbf6265      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.0005:36:46 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
05:36:47 PM veth0b422ee      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:47 PM vethf63044a      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:47 PM        lo    279.00    279.00     61.36     61.36      0.00      0.00      0.00      0.00
05:36:47 PM veth013bc86      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:47 PM veth49c91fb      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:47 PM br-bff1beb338f3      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:47 PM vetha675b99      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:47 PM virbr0-nic      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:47 PM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:47 PM    ens160     15.00     17.00      1.18      3.72      0.00      0.00      0.00      0.00
05:36:47 PM    ens192      1.00      0.00      0.06      0.00      0.00      0.00      0.00      0.00
05:36:47 PM br-86e8f1f53da9      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:47 PM    virbr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:47 PM veth046f110      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
05:36:47 PM vethdbf6265      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
  • 通过接口吞吐量信息 rxkB/s 和 txkB/s 来检查是否有指标达到了上线
sar -n TCP,ETCP 1
  • 查看TCP指标和TCP错误信息
[root@aaaaaa ~]# sar -n TCP,ETCP 1
Linux 4.18.0-305.el8.x86_64 (aaaaaa.com)        07/25/2024      _x86_64_        (4 CPU)05:41:07 PM  active/s passive/s    iseg/s    oseg/s
05:41:08 PM      0.00      0.00    207.00    207.0005:41:07 PM  atmptf/s  estres/s retrans/s isegerr/s   orsts/s
05:41:08 PM      0.00      0.00      0.00      0.00      0.0005:41:08 PM  active/s passive/s    iseg/s    oseg/s
05:41:09 PM      0.00      0.00    243.00    243.0005:41:08 PM  atmptf/s  estres/s retrans/s isegerr/s   orsts/s
05:41:09 PM      0.00      0.00      0.00      0.00      0.0005:41:09 PM  active/s passive/s    iseg/s    oseg/s
05:41:10 PM      0.00      0.00    190.00    190.0005:41:09 PM  atmptf/s  estres/s retrans/s isegerr/s   orsts/s
05:41:10 PM      0.00      0.00      0.00      0.00      0.0005:41:10 PM  active/s passive/s    iseg/s    oseg/s
05:41:11 PM      0.00      0.00    250.00    250.00
  • 相关字段解释
active/s:每秒本地发起的TCP连接的数量(通过connect()创建)
passive/s:每秒远端发起的TCP连接的数量(通过accept()创建)
retrans/s:每秒TCP重传的数量
  • 主动和被动连接计数杜宇业务负载画像有作用
  • 重传则是网络或者远端主机有问题的征兆
top
  • 浏览系统和进程的摘要信息
top - 17:47:40 up 3 days,  2:45,  7 users,  load average: 0.83, 1.01, 0.97
Tasks: 435 total,   1 running, 434 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  1.8 sy,  0.0 ni, 97.5 id,  0.0 wa,  0.3 hi,  0.2 si,  0.0 st
MiB Mem :  31934.0 total,  16631.2 free,   5485.8 used,   9816.9 buff/cache
MiB Swap:  16128.0 total,  16128.0 free,      0.0 used.  25622.2 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                           1227 tidb      20   0   11.1g 206420  60536 S  10.3   0.6 394:00.62 pd-server                                                         1229 tidb      20   0 2295288 387072  96084 S   3.3   1.2 123:34.31 tidb-server                                                       1223 tidb      20   0 3337544   1.8g 298936 S   2.3   5.8  92:52.60 tikv-server                                                       1226 tidb      20   0 5368736 310792  65096 S   1.3   1.0  46:56.33 prometheus                                                        1275 tidb      20   0 2211264 107928  34080 S   1.0   0.3  26:04.03 ng-monitoring-s                                                   1039 root      20   0  370864  12792  10820 S   0.3   0.0   2:10.48 vmtoolsd                                                          1222 tidb      20   0  123160  30944  14632 S   0.3   0.1   1:53.78 alertmanager                                                      2592 collie    20   0 1797752 250376  38064 S   0.3   0.8  18:02.22 engine                                                            1 root      20   0  250652  12788   8868 S   0.0   0.0   3:11.00 systemd                                                           2 root      20   0       0      0      0 S   0.0   0.0   0:00.28 kthreadd                                                          3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp                                                            4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp                                                        6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-events_highpri                                       9 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_wq                                                      10 root      20   0       0      0      0 S   0.0   0.0   1:06.47 ksoftirqd/0                                                       11 root      20   0       0      0      0 I   0.0   0.0   1:22.51 rcu_sched                                                         12 root      rt   0       0      0      0 S   0.0   0.0   0:00.79 migration/0                                                       13 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 watchdog/0                                                        14 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0                                                           15 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/1                                                           16 root      rt   0       0      0      0 S   0.0   0.0   0:00.01 watchdog/1                                                        17 root      rt   0       0      0      0 S   0.0   0.0   0:00.80 migration/1                                                       18 root      20   0       0      0      0 S   0.0   0.0   0:18.96 ksoftirqd/1                                                       20 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/1:0H-events_highpri                                       21 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/2                                                           22 root      rt   0       0      0      0 S   0.0   0.0   0:00.01 watchdog/2                                                        23 root      rt   0       0      0      0 S   0.0   0.0   0:00.82 migration/2                                                       24 root      20   0       0      0      0 S   0.0   0.0   0:19.24 ksoftirqd/2                                                       

相关文章:

linux 性能60秒分析

linux 60秒分析 需要运行的工具是 1、uptime 2、dmesg | tail 3、vmstat 1 4、mpstat -P ALL 1 5、pidstat 1 6、iostat -xz 1 7、free -m 8、sar -n DEV 1 9、sar -n TCP,ETCP 1 10、topuptime 快速检查平均负载 [rootaaaaaa ~]# uptime15:17:20 up 3 days, 14 min, 7 us…...

Redisson全面解析:从使用方法到工作原理的深度探索

文章目录 写在文章开头详解Redisson基本数据类型基础配置字符串操作列表操作映射集阻塞队列延迟队列更多关于Redisson详解Redisson 中的原子类详解redisson中的发布订阅模型小结参考写在文章开头 Redisson是基于原生redis操作指令上进一步的封装,屏蔽了redis数据结构的实现细…...

neo4j-解决导入数据后出现:Database ‘xxxx‘ is unavailable. Run :sysinfo for more info.

目录 问题描述 解决方法 重新导入 问题描述 最近在linux上部署了neo4j,参照之前写的博客:neo4j-数据的导出和导入_neo4j数据导入导出-CSDN博客 进行了数据导出、导入操作。但是在进行导入后,重新登录网页版neo4j,发现对应的数据库状态变…...

51单片机之引脚图(详解)

8051单片机引脚分类与功能笔记 1. 电源引脚 VCC(第40脚):接入5V电源,为单片机提供工作电压。GND(第20脚):接地端,确保电路的电位参考点。 2.时钟引脚 XTAL1(第19脚&a…...

Hangfire.NET:.NET任务调度

引言:为何选择 Hangfire? 在开发.NET 应用程序时,我们常常会遇到这样的场景:应用程序需要定期发送报告,像财务报表,每日业务数据汇总报告等,这些报告需要定时生成并发送给相关人员;…...

深入解析:React 事件处理的秘密与高效实践

在 React 中,事件处理是构建交互式应用的核心。本文将带你深入探索 React 事件处理的机制、最佳实践以及如何避免常见陷阱,助你写出更高效、更健壮的代码。 1. React 事件处理的独特之处 合成事件(SyntheticEvent) React 使用合…...

开源像素字体,可用于独立游戏开发

方舟像素字体 / Ark Pixel Font 开源的泛中日韩像素字体,使用 SIL 开放字体许可证 第1.1版(SIL Open Font License 1.1)授权。 支持 10、12 和 16 像素尺寸。 支持语言特殊字形:中文-中国大陆、中文-香港特别行政区、中文-台湾…...

【论文阅读】Comment on the Security of “VOSA“

Comment on the Security of Verifiable and Oblivious Secure Aggregation for Privacy-Preserving Federated Learning -- 关于隐私保护联邦中可验证与遗忘的安全聚合的安全性 论文来源摘要Introduction回顾 VOSA 方案对VOSA不可伪造性的攻击对于类型 I 的攻击对于类型 II 的…...

了解传输层TCP协议

目录 一、TCP协议段格式 二、TCP原理 1.确认应答 2.超时重传 3.连接管理 建立连接 断开连接 4.滑动窗口 5.流量控制 6.拥塞控制 7.延时应答 8.捎带应答 9.面向字节流 10.TCP异常情况 TCP,即Transmission Control Protocol,传输控制协议。人如…...

flask实现用户名查重,重复的用户名阻止注册,以及如何优化

在 Flask 中实现用户名查重,并阻止重复的用户名进行注册,可以使用数据库(如 SQLite、MySQL、PostgreSQL)存储用户信息,并在注册时检查用户名是否已存在。以下是实现步骤: 1. 安装 Flask 及 SQLAlchemy 确保…...

ASP.NET Core对JWT的封装

目录 JWT封装 [Authorize]的注意事项 JWT封装 NuGet 库 |Microsoft.AspNetCore.Authentication.JwtBearer 9.0.1https://www.nuget.org/packages/Microsoft.AspNetCore.Authentication.JwtBearerhttps://www.nuget.org/packages/Microsoft.AspNetCore.Authentication.JwtBea…...

wordpressAI工具,已接入Deepseek 支持自动生成文章、生成图片、生成长尾关键词、前端AI窗口互动、批量采集等

基于关键词或现有内容生成SEO优化的文章,支持多种AI服务(如OpenAI、百度文心一言、智谱AI等),并提供定时任务、内容采集、关键词生成等功能。 核心功能 文章生成 关键词生成:根据输入的关键词生成高质量文章。 内容…...

Ollama部署 DeepSeek-R1:70B 模型的详细步骤

1. 确认环境准备 (1) 硬件要求 显存需求:70B 参数的模型需要大量显存。若使用 NVIDIA T4(16GB 显存),需多卡并行(如 8 卡)或开启量化(如 q4_0、q8_0)。内存需求:建议至…...

PAT乙级( 1009 说反话 1010 一元多项式求导)C语言版本超详细解析

1009 说反话 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母&#x…...

学习笔记十九:K8S生成pod过程

K8S生成pod过程 流程图具体生成过程用户提交 Pod 定义API Server 处理请求调度器分配节点(Scheduling)目标节点上的 Pod 创建网络配置状态上报与监控控制器管理(Controller Manager)就绪与服务发现 关键错误场景高级特性 流程图 具…...

Qwen2-VL:增强视觉语言模型对世界任意分辨率的感知能力

1、摘要 Qwen2-VL系列是Qwen-VL模型的高级升级版本,它重新定义了传统视觉处理中预设分辨率的方法。Qwen2-VL引入了Naive Dynamic Resolution机制,使模型能够动态处理不同分辨率的图像,并将其转换为不同数量的视觉标记。这种机制使模型能够生…...

原神新版本角色牌上新 七圣召唤增添新玩法

在原神这款游戏中,5.4版本更新后七圣召唤玩法将新增2张角色牌和对应天赋牌、3张行动牌,并进行部分卡牌平衡调整,今天就给大家介绍一下。 一、角色牌【基尼奇】 1.元素战技:选一个我方角色,自身附属钩索链接并进入夜魂…...

Spring 中的 事务 隔离级别以及传播行为

1. 事务隔离级别(Isolation Level) 事务隔离级别定义了事务在并发环境下的行为,主要解决以下问题: 脏读(Dirty Read):一个事务读取了另一个未提交事务的数据。 不可重复读(Non-Re…...

为多个GitHub账户配置SSH密钥

背景 当需要同时使用多个GitHub账户(例如工作和个人账户)时,默认的SSH配置可能导致冲突。本文介绍如何通过生成不同的SSH密钥对并配置SSH客户端来管理多个账户。 操作步骤 生成SSH密钥对 为每个GitHub账户生成独立的密钥对,并指…...

OSPF基础(3):区域划分

OSPF的区域划分 1、区域产生背景 路由器在同一个区域中泛洪LSA。为了确保每台路由器都拥有对网络拓扑的一致认知,LSDB需要在区域内进行同步。OSPF域如果仅有一个区域,随着网络规模越来越大,OSPF路由器的数量越来越多,这将导致诸…...

android studio无痛入门

在Android Studio中创建和管理项目主要涉及以下几个步骤: 1. 创建新项目 打开Android Studio,点击“Start a new Android Studio project”或者“File” > “New” > “New Project”。 选择一个模板,例如“Empty Activity”&#xff0…...

免费windows pdf编辑工具Epdf

Epdf(完全免费) 作者:不染心 时间:2025/2/6 Github: https://github.com/dog-tired/Epdf Epdf Epdf 是一款使用 Rust 编写的 PDF 编辑器,目前仍在开发中。它提供了一系列实用的命令行选项,方便用户对 PDF …...

CNN 卷积神经网络处理图片任务 | PyTorch 深度学习实战

前一篇文章,学习率调整策略 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started CNN 卷积神经网络 CNN什么是卷积工作原理深度学习的卷积运算提取特征不同特征核的效果比较卷积核感受野共享权重池化 示例源码 …...

LeetCode 128: 最长连续序列

LeetCode 128: 最长连续序列 题目: 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入:nums […...

大语言模型需要的可观测性数据的关联方式

可观测性数据的关联方式及其优缺点 随着现代分布式架构和微服务的普及,可观测性(Observability)已经成为确保系统健康、排查故障、优化性能的重要组成部分。有效的可观测性数据关联方式不仅能够帮助我们实时监控系统的运行状态,还…...

【韩顺平linux】部分上课笔记整理

整理一下一些韩顺平老师上课时候的笔记 课程:【小白入门 通俗易懂】韩顺平 一周学会Linux linux环境:使用阿里云服务器 笔记参考 : [学习笔记]2021韩顺平一周学会Linux 一、自定义函数 基本语法 应用实例: 计算两个参数的和…...

python调用pc的语音借口

先安装: pip install pyttsx3再运行: import pyttsx3 # 初始化语音引擎 def init_engine():engine pyttsx3.init()# 设置中文语音voices engine.getProperty(voices)for voice in voices:if chinese in voice.name.lower():engine.setProperty(voice…...

【Golang学习之旅】Golang 内存管理与 GC 机制详解

文章目录 前言1. Go 语言的内存管理的简述2. Golang 内存管理机制2.1 Go 语言的内存分配模型2.2 Go 变量分配示例2.3 Go 语言的内存池(sync.Pool) 3. Golang 垃圾回收(GC)机制详解3.1 Go 的 GC 机制概述3.2 GC 触发条件3.3 手动触…...

Kamailio 各个功能的共同点、不同点及应用场景

Kamailio 各个功能的共同点、不同点及应用场景: 功能共同点不同点应用场景SIP 注册服务器处理用户注册请求,维护用户位置信息专注于用户设备的注册和注销,维护设备位置企业内部通信系统,确保用户设备的动态注册和注销SIP 代理服务…...

Linux(CentOS)安装 Nginx

CentOS版本:CentOS 7 Nginx版本:1.24.0 两种安装方式: 一、通过 yum 安装,最简单,一键安装,全程无忧。 二、通过编译源码包安装,需具备配置相关操作。 最后附:设置 Nginx 服务开…...