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

linux-性能优化命令

top

我们先来说说top命令用法,这个命令对于我们监控linux性能是至关重要的,我们先来看看展示结果。

top - 15:20:23 up 10 min,  2 users,  load average: 0.39, 0.53, 0.35
Tasks: 217 total,   1 running, 216 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3889.8 total,   2242.3 free,    996.8 used,    650.7 buff/cache
MiB Swap:   3891.0 total,   3891.0 free,      0.0 used.   2663.3 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND1 root      20   0  166328  11484   8168 S   0.0   0.3   0:02.93 systemd2 root      20   0       0      0      0 S   0.0   0.0   0:00.02 kthreadd3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp5 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 netns7 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-events_highpri9 root       0 -20       0      0      0 I   0.0   0.0   0:00.32 kworker/0:1H-events_highpri10 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_wq11 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_tasks_rude_12 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_tasks_trace13 root      20   0       0      0      0 S   0.0   0.0   0:00.22 ksoftirqd/014 root      20   0       0      0      0 I   0.0   0.0   0:00.51 rcu_sched15 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 migration/016 root     -51   0       0      0      0 S   0.0   0.0   0:00.00 idle_inject/017 root      20   0       0      0      0 I   0.0   0.0   0:01.44 kworker/0:1-pm18 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/019 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/120 root     -51   0       0      0      0 S   0.0   0.0   0:00.00 idle_inject/121 root      rt   0       0      0      0 S   0.0   0.0   0:00.70 migration/122 root      20   0       0      0      0 S   0.0   0.0   0:00.13 ksoftirqd/124 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/1:0H-events_highpri25 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kdevtmpfs26 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 inet_frag_wq27 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kauditd28 root      20   0       0      0      0 I   0.0   0.0   0:00.97 kworker/0:2-events                                               29 root      20   0       0      0      0 S   0.0   0.0   0:00.00 khungtaskd  

我们先来看看第一部分内容
1.1,第一行系统整体的统计

  • 15:20:23 是当前时间
  • up 10 min 运行了多久
  • 2 users 当前登录的用户数
  • load average: 0.39, 0.53, 0.35 系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值
load average:重点说明一下,我们主要观看15min的负载,每个cpu负载应该控制在0-1。如果是0说明cpu在没有任务在执行,
如果是1cpu已经跑满了,而大于1的时候,就有任务等待的请求。
通常如果这个指标长时间大于cpu的核心数,表示cpu很累,需要排查。

1.2,第二行进程数的统计信息

  • Tasks: 217 total 进程总数 217
  • 1 running 正在运行的进程数 1
  • 216 sleeping 睡眠的进程数 216
  • 0 stopped 停止的进程数 0
  • 0 zombie 僵死进程数 0

1.3,第三行cpu的统计信息

  • 0.0 us 用户空间占用CPU百分比
解释:进程在用户地址空间中消耗CPU时间的百分比。像shell程序、各种语言的编译器、数据库应用、web服务器和各种桌面应用都算
是运行在用户地址空间的进程,这些程序如果不是处于idle状态,那么绝大多数的CPU时间都是运行在用户态。
  • 0.0 sy 内核空间占用CPU百分比
解释:进程在内核地址空间中消耗CPU时间的百分比。所有进程要使用的系统资源都是由Linux内核处理的。当处于
用户态(用户地址空间)的进程需要使用系统的资源时,比如需要分配一些内存、或是执行IO操作、再或者是去创建一个子进程,
此时就会进入内核态(内核地址空间)运行。事实上,决定进程在下一时刻是否会被运行的进程调度程序就运行在内核态。
对于操作系统的设计来说,消耗在内核态的时间应该是越少越好,在实践中有一类典型的情况会使sy变大,那就是大量的IO操作,
因此在调查IO相关的问题时需要着重关注它。
  • 0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
解释:ni是nice的缩写,可以通过nice值调整进程用户态的优先级,这里显示的ni表示调整过nice值的进程消耗掉的CPU时间。
如果系统中没有进程被调整过nice值,那么ni就显示为0
  • 100.0 id 空闲CPU百分比
  • 0.0% wa 等待输入输出的CPU时间百分比
解释:CPU等待磁盘IO操作的时间。和CPU的处理速度相比,磁盘IO操作是非常慢的,有很多这样的操作,比如:CPU在启动一个磁盘
读写操作后,需要等待磁盘读写操作的结果。在磁盘读写操作完成前,CPU只能处于空闲状态。Linux系统在计算系统平均负载时会
把CPU等待IO操作的时间也计算进去,所以在我们看到系统平均负载过高时,可以通过wa来判断系统的性能瓶颈是不是过多的IO操作
造成的。
  • 0.0% hi 硬中断占用百分比
  • 0.0% si 软中断占用百分比
解释:这两个值表示系统处理中断消耗的时间。中断分为硬中断和软中断,hi表示处理硬中断消耗的时间,si表示处理软中
断消耗的时间。硬中断是硬盘、网卡等硬件设备发送给CPU的中断消息,当CPU收到中断消息后需要进行适当的处理(消耗CPU时间)。
软中断是由程序发出的中断,最终也会执行相应的处理程序(消耗CPU时间)

1.4最后两行的统计信息如下

  • 3889.8 tota 物理内存总量

  • 2242.3 free 使用的物理内存总量

  • 996.8 used 空闲的内存总量

  • 650.7 buff/cache 用作内核缓存的内存量

  • 3891.0 total 交换区内存总量

  • 3891.0 free 使用的交换区总量

  • 0.0 used 空闲的交换区总量

  • 2663.3 avail Mem 缓冲的交换区总量

如果在内存充足的情况下,交换内存应该是很小的。
for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{aa=a+$2}END{print '"$i"',a/1024"M"}'
/proc/$i/smaps ;done |sort -k2nr
这个命令可以查看占用交换内存的进程。

2,进程的统计信息

序号列名含义
1PID进程id
2USER进程所有者的用户名
3PR优先级
4NInice值。负值表示高优先级,正值表示低优先级
5VIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
6RES进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
7SHR共享内存大小,单位kb
8S进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
9%CPU进程使用的CPU的百分比
10%MEM进程使用的物理内存百分比
11TIME+进程使用的CPU时间总计,单位1/100秒
12COMMAND执行的命令

3.1,top命令的使用方式

top [选项]
参数选项含义
-d指定每两次屏幕信息刷新之间的时间间隔,如希望每秒刷新一次,则使用:top -d 1
-p通过指定PID来仅仅监控某个进程的状态
-S指定累计模式
-s使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险
-i使top不显示任何闲置或者僵死的进程
-c显示整个命令行而不只是显示命令名
3.2,top命令使用举例
  • 3.2.1 top //每隔3秒显式所有进程的资源占用情况
top - 06:57:27 up  4:41,  4 users,  load average: 0.02, 0.10, 0.09
Tasks: 223 total,   1 running, 222 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.1 us,  6.6 sy,  0.0 ni, 91.2 id,  0.0 wa,  0.0 hi,  0.2 si,  0.0 st
MiB Mem :   3889.8 total,   1874.0 free,   1035.0 used,    980.8 buff/cache
MiB Swap:   3891.0 total,   3891.0 free,      0.0 used.   2618.3 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                      1845 root      20   0   17724  11852   8908 S   4.7   0.3   3:48.73 sshd                                                                                         181935 root      20   0   17580  11788   8912 S   2.0   0.3   0:00.21 sshd                                                                                         41828 root      20   0   10912   4208   3336 S   0.7   0.1   1:08.00 top                                                                                          182120 root      20   0   11320   4436   3052 S   0.7   0.1   0:00.06 top                                                                                          211 root     -51   0       0      0      0 S   0.3   0.0   0:06.72 irq/16-vmwgfx                                                                                530 root      rt   0  354884  27100   9072 S   0.3   0.7   0:03.39 multipathd                                                                                   2013 root      20   0   11320   4316   2936 S   0.3   0.1   1:28.70 top                                                                                          119765 root      20   0       0      0      0 I   0.3   0.0   0:06.08 kworker/0:2-events                                                                           180210 root      20   0       0      0      0 I   0.3   0.0   0:00.11 kworker/u256:0-events_power_efficient                                                        182141 root      20   0   10612   4076   3232 R   0.3   0.1   0:00.04 top   
  • 3.2.2 top -d 1 //每隔1秒显式所有进程的资源占用情况,默认是3s

  • 3.2.3 top -c //每隔1秒显式所有进程的资源占用情况

top - 06:57:27 up  4:41,  4 users,  load average: 0.02, 0.10, 0.09
Tasks: 223 total,   1 running, 222 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.1 us,  6.6 sy,  0.0 ni, 91.2 id,  0.0 wa,  0.0 hi,  0.2 si,  0.0 st
MiB Mem :   3889.8 total,   1874.0 free,   1035.0 used,    980.8 buff/cache
MiB Swap:   3891.0 total,   3891.0 free,      0.0 used.   2618.3 avail Mem 
top - 07:01:09 up  4:45,  4 users,  load average: 0.38, 0.22, 0.13
Tasks: 223 total,   1 running, 222 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.7 us,  4.7 sy,  0.0 ni, 93.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3889.8 total,   1872.6 free,   1036.3 used,    981.0 buff/cache
MiB Swap:   3891.0 total,   3891.0 free,      0.0 used.   2616.9 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                      2013 root      20   0   11320   4316   2936 S   1.3   0.1   1:29.82 top                                                                                          1845 root      20   0   17724  11852   8908 S   1.0   0.3   3:51.78 sshd: root@pts/0,pts/1                                                                       181935 root      20   0   17712  11828   8912 S   1.0   0.3   0:03.54 sshd: root@pts/2,pts/3                                                                       15240 root      20   0       0      0      0 I   0.3   0.0   0:14.51 [kworker/1:0-events]                                                                         119765 root      20   0       0      0      0 I   0.3   0.0   0:06.25 [kworker/0:2-events]                                                                         160236 root      20   0       0      0      0 I   0.3   0.0   0:01.05 [kworker/u256:1-events_power_efficient]                                                      182120 root      20   0   11320   4436   3052 S   0.3   0.1   0:01.25 top                                                                                          1 root      20   0  167692  12840   8080 S   0.0   0.3   0:04.12 /sbin/init
  • 3.2.4 top -p 12345 //每隔3秒显示pid是12345进程的资源占用情况
top - 07:03:03 up  4:47,  4 users,  load average: 0.08, 0.16, 0.11
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.4 us,  3.9 sy,  0.0 ni, 94.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3889.8 total,   1868.4 free,   1040.4 used,    981.0 buff/cache
MiB Swap:   3891.0 total,   3891.0 free,      0.0 used.   2612.9 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                      8170 root      20   0 3692372 625916  17444 S   0.7  15.7   1:36.95 java   

3.3,top的交互命令

  • 3.3.1 过滤用户:在top命令显示中,输入u,然后输入用户名,则可以查看相应的用户进程。如按u键,然后输入tiger,按回车则只显示tiger的进程

  • 3.3.2 查看各个CPU的使用情况:在top命令下,输入1,可以看到各个CPU的使用情况

top - 07:06:07 up  4:50,  4 users,  load average: 0.27, 0.19, 0.12
Tasks: 224 total,   1 running, 223 sleeping,   0 stopped,   0 zombie
%Cpu0  :  1.7 us,  3.7 sy,  0.0 ni, 94.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  1.0 us,  3.3 sy,  0.0 ni, 95.3 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
MiB Mem :   3889.8 total,   1871.3 free,   1037.4 used,    981.1 buff/cache
MiB Swap:   3891.0 total,   3891.0 free,      0.0 used.   2615.8 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                      181935 root      20   0   17712  11860   8912 S   1.3   0.3   0:07.59 sshd                                                                                         1845 root      20   0   17724  11868   8908 S   0.7   0.3   3:55.58 sshd                                                                                         2013 root      20   0   11320   4316   2936 S   0.7   0.1   1:31.30 top        
  • 3.3.3 隐藏闲置或僵死的进程:在top命令下,输入i,可以隐藏闲置或僵死的进程,效果跟输入top -i是一样的
top - 07:07:31 up  4:51,  4 users,  load average: 0.11, 0.16, 0.12
Tasks: 220 total,   1 running, 219 sleeping,   0 stopped,   0 zombie
%Cpu0  :  2.0 us,  4.4 sy,  0.0 ni, 93.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  2.7 us,  5.6 sy,  0.0 ni, 91.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3889.8 total,   1876.0 free,   1032.6 used,    981.2 buff/cache
MiB Swap:   3891.0 total,   3891.0 free,      0.0 used.   2620.6 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                      1845 root      20   0   17724  11868   8908 S   1.3   0.3   3:56.73 sshd                                                                                         181935 root      20   0   17712  11860   8912 S   1.0   0.3   0:08.66 sshd                                                                                         2013 root      20   0   11320   4316   2936 S   0.7   0.1   1:31.81 top                                                                                          182120 root      20   0   11320   4436   3052 S   0.7   0.1   0:03.43 top                                                                                          8170 root      20   0 3692372 625916  17444 S   0.3  15.7   1:37.83 java   
  • 3.3.4 切换进程列表中的内存显示单位:在进程列表中,内存的单位默认也是KB,我们可以通过小写字母e来切换单位,下面是mb的单位
top - 07:08:34 up  4:52,  4 users,  load average: 0.12, 0.16, 0.12
Tasks: 224 total,   1 running, 223 sleeping,   0 stopped,   0 zombie
%Cpu0  :  1.0 us,  3.7 sy,  0.0 ni, 95.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  1.7 us,  3.0 sy,  0.0 ni, 95.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3889.8 total,   1882.5 free,   1026.1 used,    981.2 buff/cache
MiB Swap:   3891.0 total,   3891.0 free,      0.0 used.   2627.1 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                      1845 root      20   0   17.3m  11.6m   8.7m S   0.7   0.3   3:57.61 sshd                                                                                         2013 root      20   0   11.1m   4.2m   2.9m S   0.7   0.1   1:32.20 top                                                                                          41828 root      20   0   10.7m   4.1m   3.3m S   0.7   0.1   1:10.61 top                                                                                          181935 root      20   0   17.3m  11.6m   8.7m S   0.7   0.3   0:09.54 sshd                                                                                         769 root      20   0  307.5m   9.1m   7.5m S   0.3   0.2   0:30.60 vmtoolsd                                                                                     8170 root      20   0 3605.8m 611.2m  17.0m S   0.3  15.7   1:38.09 java          
  • 3.3.5 粗体显示排序的列:由前文可知,f键可以改变排序的列,但界面中看不出是以哪个列来排序的,可以通过小写字母x来粗体显示当前排序的列

  • 3.3.6 快速切换排序的列:虽然可以通过f键来修改排序的列,但还有一些快速切换排序列的方式:比如大写字母M以%MEM列排序,大写字母N以PID列排序,大写字母P以%CPU列排序,大写字母T以TIME+列排序。大写字母R可以将当前的排序结果反转。

  • 3.3.7 显示完整的执行命令:默认COMMAND列只显示程序的名字,并不包含程序的路径,可以通过小写字母c来显示完整的执行命令(效果跟top -c相同)

vmstat

vmstat命令,是 Virtual Meomory Statistics(虚拟内存统计)的缩写,可用来监控 CPU 使用、进程状态、内存使用、虚拟内存使用、硬盘输入/输出状态等信息。此命令的基本格式有如下 2 种:

vmstat [-a] [刷新延时 刷新次数]
vmstat [选项] 

-a 的含义是用 inact/active(活跃与否) 来取代 buff/cache 的内存输出信息。除此之外,表 1 罗列出了 vmstat 命令的第二种基本格式中常用的选项及各自的含义。

表3 vmstat命令常用选项及含义

选项含义
-fs-f:显示从启动到目前为止,系统复制(fork)的程序数,此信息是从 /proc/stat 中的 processes 字段中取得的。-s:将从启动到目前为止,由一些事件导致的内存变化情况列表说明。
-S 单位令输出的数据显示单位,例如用 K/M 取代 bytes 的容量。
-d列出硬盘有关读写总量的统计表。
-p 分区设备文件名查看硬盘分区的读写情况。

vmstat 1 20 ,如下显示


procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st1  0      0 1912344  47864 981132    0    0    20     9  155  256  1  3 95  0  00  0      0 1911588  47864 981132    0    0     0     0  467  840  2  9 89  0  00  0      0 1910832  47864 981132    0    0     0     0  449  615  4 11 86  0  00  0      0 1910832  47872 981132    0    0     0    12  273  420  1  3 96  0  01  0      0 1910584  47872 981132    0    0     0     0  418  704  2  7 91  0  00  0      0 1910836  47872 981132    0    0     0     0  403  711  2  7 91  0  00  0      0 1911092  47872 981132    0    0     0     0  233  399  1  1 98  0  00  0      0 1910844  47872 981132    0    0     0     0  418  699  2  7 91  0  03  0      0 1910848  47872 981132    0    0     0     4  388  610  2  7 92  0  00  0      0 1910876  47872 981132    0    0     0     0  323  439  1  4 95  0  00  0      0 1910624  47872 981132    0    0     0     0  389  755  3  5 92  0  02  0      0 1910876  47872 981132    0    0     0     0  361 1236  4  6 91  0  00  0      0 1911388  47872 981132    0    0     0     0  374  614  3  7 91  0  00  0      0 1911388  47872 981132    0    0     0     0  440  706  2  6 92  0  0
  • procs 进程信息
字段含义
r等待运行的进程数,数量越大,系统越繁忙。
b不可被唤醒的进程数量,数量越大,系统越繁忙。
  • memory 内存信息,切换单位 -S mb
字段含义
swpd虚拟内存的使用情况,单位为 KB。
free空闲的内存容量,单位为 KB。
buff缓冲的内存容量,单位为 KB。
cache缓存的内存容量,单位为 KB。
  • swap 交换分区信息,这两个数越大,表明数据需要经常在磁盘和内存之间进行交换,系统性能越差。
字段含义
si从磁盘中交换到内存中数据的数量,单位为 KB。
so从内存中交换到磁盘中数据的数量,单位为 KB。
  • io 磁盘读/写信息字段,这两个数越大(如超出1024k),代表系统的 I/O 越繁忙。
字段含义
bi从块设备中读入的数据的总量,单位是块。
bo写到块设备的数据的总量,单位是块。
  • system 系统信息,这两个数越大,代表系统与接口设备的通信越繁忙。
字段含义
in每秒被中断的进程次数。
cs每秒进行的事件切换次数。
  • CPU信息字段
字段含义
us非内核进程消耗 CPU 运算时间的百分比。
sy内核进程消耗 CPU 运算时间的百分比。
id空闲 CPU 的百分比。
wa等待 I/O 所消耗的 CPU 百分比。
st被虚拟机所盗用的 CPU 百分比。

相关文章:

linux-性能优化命令

top 我们先来说说top命令用法,这个命令对于我们监控linux性能是至关重要的,我们先来看看展示结果。 top - 15:20:23 up 10 min, 2 users, load average: 0.39, 0.53, 0.35 Tasks: 217 total, 1 running, 216 sleeping, 0 stopped, 0 zombie %C…...

基于MT79815G CPE 板子上挂usb3.0的5G 模块,WIFI能跑多少速度呢

关于MT79815G CPE 板子上挂usb3.0的5G 模块,WIFI能跑多少速度的问题,我们以启明智显 ZX7981P智能无线接入型路由器(CPE)挂广合通5G模组为例说明: 一般来说,用 ZX7981P,通过软加速,U…...

R包compareGroups详细用法

compareGroups compareGroups 是一个功能强大的 R 包,专为数据质量控制、数据探索和生成用于出版的单变量或双变量表格而设计。它能够创建各种格式的报表,如纯文本、HTML、LaTeX、PDF、Word 或 Excel 格式,并显示统计数据(均值、…...

如何选择高品质SD卡

如何选择高品质SD卡 SD卡(Secure Digital Memory Card)是一种广泛使用的存储器件,因其快速的数据传输速度、可热插拔的特性以及较大的存储容量,广泛应用于各种场景,例如在便携式设备如智能手机、平板电脑、运动相机等…...

C++学习:模拟priority_queue

一&#xff1a;仿函数 开始模拟前咱先了解一下仿函数。有了它&#xff0c;我们就可以自己传个代码让优先级队列升序还是降序&#xff0c;自己模拟时也不用在需要升序降序时改代码。这是个很有用的东西。 不写模版也可以&#xff0c;但模版能用在更多地方嘛 template <class …...

同程旅行对标拼多多:“形似神不似”

文&#xff1a;互联网江湖 作者&#xff1a;刘致呈 业绩好&#xff0c;并不意味着同程旅行就能高枕无忧了。 最近&#xff0c;媒体曝出&#xff1a;有用户在同程旅行APP上预订酒店&#xff0c;在预订成功并付款后&#xff0c;结果第二天却被酒店告知&#xff0c;没有查到相关…...

HOJ网站开启https访问 申请免费SSL证书 部署证书详细操作指南

https://console.cloud.tencent.com/ 腾讯云用户 登录控制台 右上角搜SSL 点击 SSL证书 进入链接 点申请 免费证书 有效期3个月 &#xff08;以后每三个月申请一次证书 上传&#xff09; 如果是腾讯云申请的域名 选 自动DNS验证 自动添加验证记录 如果是其他平台申请域…...

程序设计基础I-实验4 循环结构之for语句

7-1 sdut-C语言实验-AB for Input-Output Practice (Ⅳ) Your task is to Calculate a b. 输入格式: Your task is to Calculate a b. 输出格式: For each pair of input integers a and b you should output the sum of a and b in one line, and with one line of out…...

深入工作流调度的内核

在大数据时代&#xff0c;工作流任务调度系统成为了数据处理和业务流程管理的核心组件&#xff0c;在大数据平台的构建和开发过程中尤为重要。随着数据量的激增和业务需求的多样化&#xff0c;合理的任务调度不仅能够提高资源利用率&#xff0c;还能保证业务流程的稳定和高效运…...

vue3中动态引入组件并渲染组件

在开发中 有时会在打包或者各种可能的情况下 报错或警告提示 模块化打包的问题&#xff0c; 我们需要动态引入组件并渲染组件时&#xff0c;可以使用import引入 如下举例 import { ref, markRaw } from vue const childrenComponent ref(); onMounted(() > {//举例引入一个…...

【艾思科蓝】网络安全的隐秘战场:构筑数字世界的铜墙铁壁

第七届人文教育与社会科学国际学术会议&#xff08;ICHESS 2024&#xff09;_艾思科蓝_学术一站式服务平台 更多学术会议请看&#xff1a;https://ais.cn/u/nuyAF3 目录 引言 一、网络安全&#xff1a;数字时代的双刃剑 1.1 网络安全的定义与重要性 1.2 网络安全威胁的多元化…...

将图片资源保存到服务器的盘符中

服务类 系统盘符&#xff1a;file-path.disk&#xff08;可能会变&#xff0c;配置配置文件dev中&#xff09;文件根路径&#xff1a;file-path.root-path&#xff08;可能会变&#xff0c;配置配置文件dev中&#xff09;http协议的Nginx的映射前缀&#xff1a;PrefixConstant.…...

数学建模练习小题目

题目A 有三名商人各带一名仆人过河&#xff0c;船最多能载两人。在河的任何一岸&#xff0c;若仆人数超 过商人数&#xff0c;仆人会杀商人越货。如何乘船由商人决定&#xff0c;问是否有安全过河方案&#xff0c;若有&#xff0c;最少需要几步? 定义变量 商人和仆人的状态…...

不可错过的10款文件加密软件,企业电脑加密文件哪个软件好用

在信息安全日益重要的今天&#xff0c;企业和个人都需要可靠的文件加密软件来保护敏感数据。以下是2024年不可错过的10款文件加密软件&#xff0c;它们以强大的加密功能和易用性而闻名。 1.安秉加密软件 安秉加密软件是一款专为企业设计的信息安全管理工具&#xff0c;采用驱动…...

常用卫星学习

文章目录 Landsat-8 Landsat-8 由一台操作陆地成像仪 &#xff08;OLI&#xff09; 和一台热红外传感器 &#xff08;TIRS&#xff09;的卫星&#xff0c;OLI 提供 9 个波段&#xff0c;覆盖 0.43–2.29 μm 的波长&#xff0c;其中全色波段&#xff08;一般指0.5μm到0.75μm左…...

音视频入门基础:FLV专题(3)——FLV header简介

一、引言 本文对FLV格式的FLV header进行简介&#xff0c;FLV文件的开头就是FLV header。 进行简介之前&#xff0c;请各位先从《音视频入门基础&#xff1a;FLV专题&#xff08;1&#xff09;——FLV官方文档下载》下载FLV的官方文档《video_file_format_spec_v10_1.pdf》和…...

python中数据处理库,机器学习库以及自动化与爬虫

Python 在数据处理、机器学习和自动化任务方面非常强大&#xff0c;它的库生态系统几乎涵盖了所有相关领域。我们将从以下几个部分来介绍 Python 中最常用的库&#xff1a; 数据处理库&#xff1a;Pandas、NumPy 等机器学习库&#xff1a;Scikit-learn、TensorFlow、Keras 等自…...

2024最新测评:低代码平台在企业复杂应用场景的适用性如何?

低代码平台种类多&#xff0c;不好一概而论。但最近有做部分低代码平台的测评&#xff0c;供大家参考。 一个月前接到老板紧急任务&#xff1a;调研有没有一款低代码平台能开发我司的软件场景。我司是一家快速发展中的制造业企业&#xff0c;业务遍布全国&#xff0c;需要一个…...

URL中 / 作为字符串,而不是路径。

在Harbor中&#xff0c;仓库路径是二级&#xff0c;有时候在打镜像的时候&#xff0c;会把 / 作为字符串打进去&#xff0c;URL访问的时候有可能就当路径了。 解决办法&#xff1a;/ 转义 %252F...

el-input只能输入指定范围的数字

el-input只能输入指定范围的数字 需求&#xff1a;el-input只能输入指定范围的数字&#xff0c;不采用el-input-number组件。 几个关键点如下 v-model.numbertype"number"min"1" max"999999" 数字的范围 οninput"validity.valid ||(value…...

数据结构编程实践20讲(Python版)—01数组

本文目录 01 数组 arrayS1 说明S2 举例S3 问题&#xff1a;二维网格中的最小路径求解思路Python3程序 S4 问题&#xff1a;图像左右变换求解思路Python3程序 S5 问题&#xff1a;青蛙过河求解思路Python3程序 写在前面 数据结构是计算机科学中的一个重要概念&#xff0c;用于组…...

数据库实验2—1

10-1 查询重量在[40,65]之间的产品信息 本题目要求编写SQL语句&#xff0c; 检索出product表中所有符合40 < Weight < 65的记录。 提示&#xff1a;请使用SELECT语句作答。 表结构: CREATE TABLE product (Pid varchar(20), --商品编号PName varchar(50), --商品名称…...

现代前端框架实战指南:React、Vue.js、Angular核心概念与应用

随着互联网技术的发展&#xff0c;前端开发变得越来越复杂。 为了应对这些挑战&#xff0c;前端框架应运而生&#xff0c;它们提供了丰富的功能和工具&#xff0c;帮助开发者更高效地构建 和维护大型前端应用。前端框架是现代Web开发中不可或缺的一部分&#xff0c;它们提供了…...

MySQL --用户管理

文章目录 1.用户1.1用户信息1.2创建用户1.3删除用户1.4修改用户密码 2.数据库的权限2.1给用户授权2.2回收权限 如果我们只能使用root用户&#xff0c;这样存在安全隐患。这时&#xff0c;就需要使用MySQL的用户管理。 1.用户 1.1用户信息 MySQL中的用户&#xff0c;都存储在系…...

详解前驱图与PV操作

前驱图、PV操作 前驱图与PV操作的结合例子&#xff1a;两个进程的同步问题使用PV操作实现同步 前驱图的实际应用更复杂的场景示例示例1&#xff1a;前驱图与PV操作的结合1. 前驱图表示2. 使用信号量&#xff08;PV操作&#xff09;实现同步进程的执行逻辑&#xff1a; 3. 示例代…...

孩子来加拿大上学真的那么轻松吗?(上)

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 卷圈 运营 / SandLiu 卷圈 监制 / 姝琦 封面 / 姝琦Midjourney 产品统筹 / bobo 这是拼娃时代第三十一期节目&#xff0c;经过了一年的沉寂&#xff0c;拼娃时代在今年九月份终于恢复更新啦&#xff0c;JunJun老师也…...

【算法篇】二叉树类(1)(笔记)

目录 一、认识二叉树 1. 二叉树的种类 &#xff08;1&#xff09;满二叉树 &#xff08;2&#xff09;完全二叉树 &#xff08;3&#xff09;二叉搜索树 &#xff08;4&#xff09;平衡二叉搜索树 2. 二叉树的存储方式 3. 二叉树的遍历方式 4. 二叉树的定义 二、Leet…...

《C++无锁编程:解锁高性能并发的新境界》

在当今的软件开发领域&#xff0c;并发编程的重要性日益凸显。随着多核处理器的普及&#xff0c;开发者们越来越需要利用并发来提高程序的性能和响应速度。而 C作为一种强大的编程语言&#xff0c;提供了多种技术来实现无锁编程&#xff0c;从而在并发环境下获得更高的性能和更…...

系统架构设计师教程 第9章 9.5 软件可靠性测试 笔记

9.5 软件可靠性测试 ★★★☆☆ 9.5.1 软件可靠性测试概述 软件测试者可以使用很多方法进行软件测试&#xff0c;如按行为或结构来划分输入域的划分测试&#xff0c; 纯粹随机选择输入的随机测试&#xff0c;基于功能、路径、数据流或控制流的覆盖测试等。 软件可靠性测试由可…...

如何使用ssm实现校园体育赛事管理系统的设计与实现+vue

TOC ssm713校园体育赛事管理系统的设计与实现vue 绪论 课题背景 身处网络时代&#xff0c;随着网络系统体系发展的不断成熟和完善&#xff0c;人们的生活也随之发生了很大的变化。目前&#xff0c;人们在追求较高物质生活的同时&#xff0c;也在想着如何使自身的精神内涵得…...