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,进程的统计信息
| 序号 | 列名 | 含义 |
|---|---|---|
| 1 | PID | 进程id |
| 2 | USER | 进程所有者的用户名 |
| 3 | PR | 优先级 |
| 4 | NI | nice值。负值表示高优先级,正值表示低优先级 |
| 5 | VIRT | 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES |
| 6 | RES | 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA |
| 7 | SHR | 共享内存大小,单位kb |
| 8 | S | 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程) |
| 9 | %CPU | 进程使用的CPU的百分比 |
| 10 | %MEM | 进程使用的物理内存百分比 |
| 11 | TIME+ | 进程使用的CPU时间总计,单位1/100秒 |
| 12 | COMMAND | 执行的命令 |
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
一:仿函数 开始模拟前咱先了解一下仿函数。有了它,我们就可以自己传个代码让优先级队列升序还是降序,自己模拟时也不用在需要升序降序时改代码。这是个很有用的东西。 不写模版也可以,但模版能用在更多地方嘛 template <class …...
同程旅行对标拼多多:“形似神不似”
文:互联网江湖 作者:刘致呈 业绩好,并不意味着同程旅行就能高枕无忧了。 最近,媒体曝出:有用户在同程旅行APP上预订酒店,在预订成功并付款后,结果第二天却被酒店告知,没有查到相关…...
HOJ网站开启https访问 申请免费SSL证书 部署证书详细操作指南
https://console.cloud.tencent.com/ 腾讯云用户 登录控制台 右上角搜SSL 点击 SSL证书 进入链接 点申请 免费证书 有效期3个月 (以后每三个月申请一次证书 上传) 如果是腾讯云申请的域名 选 自动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…...
深入工作流调度的内核
在大数据时代,工作流任务调度系统成为了数据处理和业务流程管理的核心组件,在大数据平台的构建和开发过程中尤为重要。随着数据量的激增和业务需求的多样化,合理的任务调度不仅能够提高资源利用率,还能保证业务流程的稳定和高效运…...
vue3中动态引入组件并渲染组件
在开发中 有时会在打包或者各种可能的情况下 报错或警告提示 模块化打包的问题, 我们需要动态引入组件并渲染组件时,可以使用import引入 如下举例 import { ref, markRaw } from vue const childrenComponent ref(); onMounted(() > {//举例引入一个…...
【艾思科蓝】网络安全的隐秘战场:构筑数字世界的铜墙铁壁
第七届人文教育与社会科学国际学术会议(ICHESS 2024)_艾思科蓝_学术一站式服务平台 更多学术会议请看:https://ais.cn/u/nuyAF3 目录 引言 一、网络安全:数字时代的双刃剑 1.1 网络安全的定义与重要性 1.2 网络安全威胁的多元化…...
将图片资源保存到服务器的盘符中
服务类 系统盘符:file-path.disk(可能会变,配置配置文件dev中)文件根路径:file-path.root-path(可能会变,配置配置文件dev中)http协议的Nginx的映射前缀:PrefixConstant.…...
数学建模练习小题目
题目A 有三名商人各带一名仆人过河,船最多能载两人。在河的任何一岸,若仆人数超 过商人数,仆人会杀商人越货。如何乘船由商人决定,问是否有安全过河方案,若有,最少需要几步? 定义变量 商人和仆人的状态…...
不可错过的10款文件加密软件,企业电脑加密文件哪个软件好用
在信息安全日益重要的今天,企业和个人都需要可靠的文件加密软件来保护敏感数据。以下是2024年不可错过的10款文件加密软件,它们以强大的加密功能和易用性而闻名。 1.安秉加密软件 安秉加密软件是一款专为企业设计的信息安全管理工具,采用驱动…...
常用卫星学习
文章目录 Landsat-8 Landsat-8 由一台操作陆地成像仪 (OLI) 和一台热红外传感器 (TIRS)的卫星,OLI 提供 9 个波段,覆盖 0.43–2.29 μm 的波长,其中全色波段(一般指0.5μm到0.75μm左…...
音视频入门基础:FLV专题(3)——FLV header简介
一、引言 本文对FLV格式的FLV header进行简介,FLV文件的开头就是FLV header。 进行简介之前,请各位先从《音视频入门基础:FLV专题(1)——FLV官方文档下载》下载FLV的官方文档《video_file_format_spec_v10_1.pdf》和…...
python中数据处理库,机器学习库以及自动化与爬虫
Python 在数据处理、机器学习和自动化任务方面非常强大,它的库生态系统几乎涵盖了所有相关领域。我们将从以下几个部分来介绍 Python 中最常用的库: 数据处理库:Pandas、NumPy 等机器学习库:Scikit-learn、TensorFlow、Keras 等自…...
2024最新测评:低代码平台在企业复杂应用场景的适用性如何?
低代码平台种类多,不好一概而论。但最近有做部分低代码平台的测评,供大家参考。 一个月前接到老板紧急任务:调研有没有一款低代码平台能开发我司的软件场景。我司是一家快速发展中的制造业企业,业务遍布全国,需要一个…...
URL中 / 作为字符串,而不是路径。
在Harbor中,仓库路径是二级,有时候在打镜像的时候,会把 / 作为字符串打进去,URL访问的时候有可能就当路径了。 解决办法:/ 转义 %252F...
el-input只能输入指定范围的数字
el-input只能输入指定范围的数字 需求:el-input只能输入指定范围的数字,不采用el-input-number组件。 几个关键点如下 v-model.numbertype"number"min"1" max"999999" 数字的范围 οninput"validity.valid ||(value…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
