《Linux从小白到高手》理论篇:Linux的资源监控管理

本篇介绍Linux的资源监控管理。

1、CPU 资源管理

进程调度:
Linux 采用公平的进程调度算法,确保每个进程都能获得合理的 CPU 时间。调度算法会根据进程的优先级、等待时间等因素来决定哪个进程获得 CPU 使用权。
可以通过调整进程的优先级来影响其获得 CPU 的机会。例如,使用nice和renice命令可以调整进程的优先级,数值越低优先级越高。
多核处理器管理:
Linux 能够充分利用多核处理器的优势,将进程分配到不同的核心上执行,提高系统的并行处理能力。
可以使用taskset命令将特定的进程绑定到指定的 CPU 核心上,以确保某些关键进程能够获得稳定的 CPU 资源。

2、内存资源管理

内存分配与回收:
Linux 使用虚拟内存管理系统,将物理内存和磁盘空间结合起来,为进程提供内存资源。当进程需要内存时,系统会从空闲的物理内存中分配;当物理内存不足时,会将部分不常用的内存页交换到磁盘上的交换空间(swap)。
可以通过调整/proc/sys/vm/swappiness参数来控制系统将内存页交换到 swap 的倾向。值为 0 表示尽量不使用 swap,值为 100 表示积极使用 swap。
内存缓存与缓冲:
Linux 会使用一部分内存作为文件系统缓存和磁盘缓冲,以提高文件和磁盘 I/O 的性能。这些缓存会根据系统的内存使用情况自动调整大小。
可以使用free命令查看系统的内存使用情况,包括总内存、已使用内存、空闲内存、缓存和缓冲等信息。

3、磁盘资源管理

文件系统管理:
Linux 支持多种文件系统,如 ext4、XFS 等。不同的文件系统在性能、可靠性和功能方面有所不同,可以根据实际需求选择合适的文件系统。
可以使用文件系统的工具和命令来管理磁盘空间,如df命令查看磁盘使用情况,du命令查看目录和文件的磁盘占用情况。
磁盘调度策略:
Linux 内核有多种磁盘调度算法,如 CFQ(完全公平排队)、Deadline 和 Noop。不同的调度算法适用于不同的应用场景,可以根据系统的负载和需求进行调整。
可以通过修改/sys/block/sda/queue/scheduler(假设磁盘设备为sda)文件来选择磁盘调度策略。

4、网络资源管理

网络带宽控制:
Linux 可以通过流量整形(traffic shaping)和队列规则(queue discipline)来控制网络带宽的使用。例如,可以使用tc命令来设置网络接口的带宽限制、优先级等。
可以根据不同的网络应用或用户需求,为特定的网络流量分配不同的带宽份额,确保关键应用的网络性能。
网络连接管理:
Linux 可以通过防火墙(如iptables或firewalld)来管理网络连接,控制哪些 IP 地址、端口和协议可以访问系统。
可以使用网络监控工具(如iftop、nethogs等)来实时查看网络流量的使用情况,以便及时发现和解决网络问题。

5、资源监控与调整

资源监控工具:
Linux 提供了许多工具来监控系统资源的使用情况,如top、htop用于监控 CPU 和内存使用情况,iostat用于监控磁盘 I/O 性能,netstat和ss用于监控网络连接等。
这些工具可以帮助管理员及时发现资源瓶颈和问题,并采取相应的措施进行调整。
资源调整策略:
根据资源监控的结果,可以采取不同的调整策略。例如,如果发现某个进程占用过多的 CPU 资源,可以调整其优先级或限制其 CPU 使用率;如果磁盘空间不足,可以清理不必要的文件或扩展磁盘容量。
通过合理的资源管理,Linux 系统可以在不同的工作负载下保持高效、稳定的运行,为用户提供良好的性能和可靠性。

6、Linux资源管理常用命令

free内存监控

在这里插入图片描述
1、基本用法
–直接运行free:输入free命令并回车,将显示系统内存的总量、已使用量、空闲量、共享内存量、缓冲 / 缓存量以及交换分区的使用情况。
–输出的单位通常是千字节(KB)。
2、显示单位选择
–以兆字节(MB)为单位显示:
–使用free -m命令,这样可以更直观地查看内存使用情况,尤其是在内存较大的系统中。
–例如,输出可能显示 “total used free shared buffers cached” 等字段,每个字段的值都是以兆字节为单位。
–以G字节(GB)为单位显示:
–使用free -g命令,适合内存非常大的系统。
3、显示特定信息
仅显示内存信息,不显示交换分区信息:
使用free -m --memonly或free -m -o,这样可以专注于内存的使用情况,排除交换分区的干扰。
以人类可读的格式显示:
使用free -h,它会自动选择合适的单位(KB、MB、GB 等)来显示内存和交换分区的大小,使输出更易于理解。
四、持续监测内存使用情况
使用watch命令结合free:
例如,watch -n 5 free -m将每 5 秒执行一次free -m命令,动态显示内存使用情况的变化。
五、输出字段解释
total:系统总的物理内存或交换分区大小。
used:已经被使用的内存或交换分区大小。
free:未被使用的内存或交换分区大小。
shared:被多个进程共享的内存大小。
buff/cache:用于磁盘缓存和缓冲区的内存大小。
注:buffers 与 cached 的区别:
–buffers 是指用来给块设备做的缓冲大小,他只记录文件系统的 metadata 以及 tracking in-flight pages.
–cached 是用来给文件做缓冲。也就是说:buffers 是用来存储,目录里面有什么内容,权限等等。
而 cached 直接用来记忆我们打开的文件
available(在一些系统中可能需要特定选项才能显示):表示系统中可供新进程使用的估计内存大小。
通过灵活使用free命令及其选项,可以方便地监控系统内存的使用情况,及时发现内存不足或内存泄漏等问题,以便采取相应的措施进行优化和调整。

2、vmstat

在 Linux 中,vmstat(Virtual Memory Statistics)命令用于显示虚拟内存、进程、CPU 活动等系统信息。
1、基本用法
直接运行vmstat:
–输入vmstat命令并回车,将显示系统的一些关键性能指标,包括进程、内存、交换分区、I/O、系统和 CPU 的信息。
–默认情况下,输出是一次性的,显示自系统启动以来的平均统计信息。
2、显示间隔和次数
以指定时间间隔显示统计信息:
–使用vmstat interval,其中interval是时间间隔,单位为秒。例如,vmstat 5将每 5 秒显示一次系统统计信息。
–显示指定次数的统计信息:
使用vmstat interval count,其中count是要显示的次数。例如,vmstat 2 3将每 2 秒显示一次系统统计信息,共显示 3 次。
3、输出字段解释
procs:
r:运行队列中的进程数,即等待 CPU 时间片的进程数量。
b:处于不可中断睡眠状态的进程数,通常是等待 I/O 完成的进程。
memory:
swpd:使用的交换分区大小(单位为 KB)。
free:空闲内存大小。
buff:用于缓冲区的内存大小。
cache:用于缓存的内存大小。
swap:
si:从磁盘交换到内存的页面数量(单位为 KB/s)。
so:从内存交换到磁盘的页面数量(单位为 KB/s)。
io:
bi:从块设备读取的块数量(单位为块 /s)。
bo:向块设备写入的块数量(单位为块 /s)。
system:
in:每秒的中断次数。
cs:每秒的上下文切换次数。
cpu:
us:用户空间占用 CPU 的百分比。
sy:内核空间占用 CPU 的百分比。
id:空闲 CPU 的百分比。
wa:等待 I/O 的 CPU 时间百分比。
st:被虚拟机偷走的 CPU 时间百分比(如果在虚拟化环境中)。
4、持续监控系统性能:
vmstat 5可以每 5 秒显示一次系统性能统计信息,实时了解系统的运行状态。如果发现某个指标异常,可以进一步分析问题所在。
分析内存使用情况:
关注swpd、free、buff和cache字段,可以了解系统的内存使用情况。如果swpd值不断增加,可能表示内存不足,系统正在频繁使用交换分区。
检查 CPU 负载:
us、sy、id和wa字段可以帮助你了解 CPU 的使用情况。如果us和sy值较高,可能表示用户进程和内核占用了较多的 CPU 时间;如果wa值较高,可能表示系统存在 I/O 瓶颈。
通过灵活使用vmstat命令,可以快速了解系统的性能状况,及时发现问题并采取相应的措施进行优化和调整。

3、iostat

iostat(I/O statistics)命令用于报告 CPU 和磁盘 I/O 的统计信息。
1、基本用法
直接运行iostat:
–输入iostat命令并回车,将显示系统自启动以来的 CPU 和磁盘 I/O 的平均统计信息。
–输出包括 CPU 的%user(用户空间占用 CPU 百分比)、%nice(低优先级进程占用 CPU 百分比)、%system(内–核空间占用 CPU 百分比)、%iowait(等待 I/O 完成占用 CPU 百分比)等信息,以及每个磁盘设备的tps(每秒传输次数)、kB_read/s(每秒读取的千字节数)、kB_wrtn/s(每秒写入的千字节数)等信息。
2、显示时间间隔和次数
以指定时间间隔显示统计信息:
–使用iostat interval,其中interval是时间间隔,单位为秒。例如,iostat 5将每 5 秒显示一次系统统计信息。
显示指定次数的统计信息:
–使用iostat interval count,其中count是要显示的次数。例如,iostat 2 3将每 2 秒显示一次系统统计信息,共显示 3 次。
3、显示特定磁盘设备
显示特定磁盘设备的统计信息:
–使用iostat -d device,其中device是磁盘设备名称,如sda、hda等。例如,iostat -d sda将显示sda磁盘的 I/O 统计信息。
4、输出字段解释
CPU部分:
%user:用户空间进程占用 CPU 的百分比。
%nice:低优先级进程占用 CPU 的百分比。
%system:内核空间进程占用 CPU 的百分比。
%iowait:等待 I/O 完成占用 CPU 的百分比。
%steal:被虚拟机偷走的 CPU 时间百分比(如果在虚拟化环境中)。
%idle:空闲 CPU 的百分比。
Device部分(每个磁盘设备的信息):
tps:每秒传输次数,即每秒的 I/O 请求次数。
kB_read/s:每秒读取的千字节数。
kB_wrtn/s:每秒写入的千字节数。
kB_read:自系统启动以来读取的总千字节数。
kB_wrtn:自系统启动以来写入的总千字节数。
5、持续监控磁盘 I/O 性能:
–iostat -d 5可以每 5 秒显示一次磁盘 I/O 统计信息,帮助你实时了解磁盘的读写性能。如果发现某个磁盘设备的读写速度异常,可以进一步分析问题所在。
分析特定磁盘设备:
–如果你怀疑某个特定磁盘设备存在性能问题,可以使用iostat -d device来专门查看该设备的统计信息。例如,iostat —d sdb将只显示sdb磁盘的 I/O 情况。
结合其他工具进行性能分析:
可以将iostat的输出与其他性能监控工具(如top、vmstat等)结合使用,全面分析系统的性能状况。例如,如果iostat显示某个磁盘设备的 I/O 等待时间较高,可以使用top或vmstat查看是否有进程在大量占用该磁盘设备。
通过灵活使用iostat命令,可以有效地监控系统的磁盘 I/O 性能,及时发现性能瓶颈并采取相应的措施进行优化和调整。

4、uptime

uptime命令用于显示系统的运行时间以及当前的负载情况。
1、基本用法
直接运行uptime:
–输入uptime命令并回车,将显示系统自上次启动以来的运行时间、当前登录的用户数量以及系统在过去 1、5 和 15 分钟内的平均负载。
–例如,输出可能是“10:30:00 up 5 days, 2:23, 3 users, load average: 0.50, 0.32, 0.25”,表示当前时间是 10:30,系统已经运行了 5 天 2 小时 23 分钟,有 3 个用户登录,过去 1、5 和 15 分钟内的平均负载分别是 0.50、0.32 和 0.25。
2、输出字段解释
“up”后面的时间:
表示系统自上次启动以来的运行时间。格式通常是“天数,小时:分钟”。
“users”:
显示当前登录到系统的用户数量。
“load average”:
系统的平均负载,分别是过去 1、5 和 15 分钟内的平均负载。平均负载是指在特定时间间隔内,处于可运行状态(正在运行或等待运行)的进程的平均数量。
例如,“load average: 0.50, 0.32, 0.25”表示在过去 1 分钟内平均有 0.50 个进程处于可运行状态,过去 5 分钟内平均有 0.32 个进程,过去 15 分钟内平均有 0.25 个进程。
3、监控系统运行时间和负载:
–定期运行uptime命令可以了解系统的稳定性和负载情况。如果平均负载持续较高,可能表示系统资源紧张,需要进一步分析是 CPU、内存还是磁盘 I/O 等方面的问题。
4、结合其他工具进行性能分析:
–可以将uptime的输出与其他性能监控工具(如top、vmstat、iostat等)结合使用,全面了解系统的性能状况。例如,如果uptime显示平均负载较高,可以使用top查看哪些进程占用了较多的 CPU 资源。
通过使用uptime命令,可以快速了解系统的运行时间和负载情况,为系统管理和性能优化提供参考依据。

5、mpstat

mpstat(MultiProcessor Statistics)命令用于显示每个 CPU 的使用情况以及整个系统的 CPU 统计信息。
1、基本用法
直接运行mpstat:
–输入mpstat命令并回车,将显示自系统启动以来的平均 CPU 统计信息,包括每个 CPU 的用户空间占用时间百分比(% usr)、内核空间占用时间百分比(% sys)、空闲时间百分比(% idle)等。
–默认情况下,mpstat显示所有 CPU 的平均统计信息。
2、显示时间间隔和次数
以指定时间间隔显示统计信息:
使用mpstat interval,其中interval是时间间隔,单位为秒。例如,mpstat 5将每 5 秒显示一次 CPU 统计信息。
显示指定次数的统计信息:
使用mpstat interval count,其中count是要显示的次数。例如,mpstat 2 3将每 2 秒显示一次 CPU 统计信息,共显示 3 次。
3、输出字段解释
CPU:表示 CPU 的编号。如果系统有多个 CPU,每个 CPU 都有一行对应的统计信息。
%usr:用户空间进程占用 CPU 的百分比。
%nice:低优先级进程占用 CPU 的百分比。
%sys:内核空间进程占用 CPU 的百分比。
%iowait:等待 I/O 完成占用 CPU 的百分比。
%irq:处理硬件中断占用 CPU 的百分比。
%soft:处理软件中断占用 CPU 的百分比。
%steal:被虚拟机偷走的 CPU 时间百分比(如果在虚拟化环境中)。
%guest:运行虚拟机中的客户机占用 CPU 的百分比。
%gnice:运行带有低优先级的虚拟机中的客户机占用 CPU 的百分比。
%idle:空闲 CPU 的百分比。
4、特定用法
监控单个 CPU 的性能:
可以通过mpstat -P CPU_NUMBER来监控特定 CPU 的性能,其中CPU_NUMBER是 CPU 的编号。例如,mpstat -P 0将只显示编号为 0 的 CPU 的统计信息。
持续监控系统 CPU 性能:
mpstat 5可以每 5 秒显示一次系统的 CPU 统计信息,帮助你实时了解各个 CPU 的使用情况以及系统整体的 CPU 负载。如果发现某个 CPU 的负载异常高,可以进一步分析是哪个进程在该 CPU 上运行并消耗大量资源。
结合其他工具进行性能分析:
可以将mpstat的输出与其他性能监控工具(如top、vmstat、iostat等)结合使用,全面分析系统的性能状况。例如,如果mpstat显示某个 CPU 的%iowait较高,可以使用iostat查看是否该 CPU 对应的磁盘设备存在 I/O 瓶颈。
通过使用mpstat命令,可以深入了解系统中各个 CPU 的使用情况,及时发现性能问题并采取相应的措施进行优化和调整。

6、pmap

pmap命令用于显示进程的内存映射关系。
1、基本用法
显示特定进程的内存映射:
–pmap PID,其中PID是进程标识符。例如,pmap 1234将显示进程 ID 为 1234 的内存映射情况。
2、输出字段解释
地址范围:
–显示进程使用的内存地址范围,例如 “0000555555554000-0000555555555000”。
权限:
–表示该内存区域的访问权限,如 “r-xp” 表示可读、可执行但不可写。常见的权限标志包括 “r”(可读)、“w”(可写)、“x”(可执行)、“s”(共享)、“p”(私有)等。
偏移量:
-内存映射文件在文件中的偏移量。
设备:
–内存映射的设备编号,通常是磁盘设备或匿名内存的特殊设备编号。
大小:
–该内存区域的大小,以字节为单位。
映射名称:
–如果该内存区域是映射自一个文件,这里将显示文件的名称;如果是匿名内存,则可能显示类似于 “[heap]”、“[stack]” 等描述信息。
3、惯用用法
分析进程内存使用情况:
通过查看pmap的输出,可以了解一个进程使用了多少内存,哪些部分是代码、数据、堆、栈等,以及是否有大量的共享内存或内存泄漏的迹象。
查找内存占用较大的区域:
如果一个进程占用了大量内存,可以使用pmap来确定哪些内存区域是主要的占用者。例如,如果发现一个很大的匿名内存区域,可能是进程的堆空间在不断增长,提示可能存在内存泄漏问题。
与其他工具结合使用:
pmap可以与其他内存分析工具(如valgrind用于检测内存泄漏)结合使用,以更深入地了解进程的内存使用情况和潜在问题。通过使用pmap命令,可以深入了解进程的内存布局和使用情况,对于诊断内存相关问题和优化系统性能非常有帮助。

7、sar

sar(System Activity Reporter)命令是一个强大的系统性能监测工具。
1、基本用法
立即查看系统活动:
–sar:默认情况下,它会显示当天自零点以来的 CPU 使用率统计信息。例如,输出可能包括用户空间、系统空间、I/O 等待等 CPU 时间的百分比。
指定时间间隔和次数:
–sar interval count:其中interval是时间间隔,单位为秒;count是要显示的次数。例如,sar 5 3将每 5 秒显示一次系统统计信息,共显示 3 次。
2、监控特定资源
CPU 使用率:
sar -u:显示 CPU 的使用情况,包括用户空间、系统空间、空闲时间等百分比。
内存使用情况:
sar -r:显示内存的使用情况,包括物理内存总量、已使用内存、空闲内存、缓冲和缓存等信息。
磁盘 I/O 活动:
sar -b:显示磁盘块设备的活动情况,包括每秒读取和写入的块数量等。
sar -d:更详细地显示每个磁盘设备的 I/O 统计信息。
网络活动:
sar -n DEV:显示网络接口的活动情况,包括接收和发送的数据包数量、字节数等。可以指定不同的参数来查看特定类型的网络统计信息,如IP、Ethernet等。
3、输出字段解释

CPU 使用率(sar -u输出):
%user:用户空间进程占用 CPU 的百分比。
%nice:低优先级进程占用 CPU 的百分比。
%system:内核空间进程占用 CPU 的百分比。
%iowait:等待 I/O 完成占用 CPU 的百分比。
%steal:被虚拟机偷走的 CPU 时间百分比(如果在虚拟化环境中)。
%idle:空闲 CPU 的百分比。
内存使用情况(sar -r输出):
kbmemfree:空闲物理内存大小,单位为千字节。
kbmemused:已使用物理内存大小。
%memused:已使用内存的百分比。
kbbuffers:用于缓冲区的内存大小。
kbcached:用于缓存的内存大小。
磁盘 I/O 活动(sar -b或sar -d输出):
tps:每秒传输次数,即每秒的 I/O 请求次数。
rtps:每秒读取的传输次数。
wtps:每秒写入的传输次数。
bread/s:每秒读取的块数量。
bwrtn/s:每秒写入的块数量。
网络活动(sar -n DEV输出):
IFACE:网络接口名称。
rxpck/s:每秒接收的数据包数量。
txpck/s:每秒发送的数据包数量。
rxkB/s:每秒接收的千字节数。
txkB/s:每秒发送的千字节数。

4、惯用用法
持续监控系统性能:
sar -u 5 10可以每 5 秒显示一次 CPU 使用率统计信息,共显示 10 次。这对于观察系统在一段时间内的 CPU 负载变化非常有用。
分析磁盘 I/O 瓶颈:
如果系统的磁盘 I/O 性能较差,可以使用sar -d来查看每个磁盘设备的 I/O 活动情况。如果发现某个设备的tps、rtps或wtps很高,或者await(平均等待时间)很长,可能表示该设备存在 I/O 瓶颈。
检查网络问题:
sar -n DEV可以帮助了解网络接口的活动情况。如果发现接收或发送的数据包数量异常高,或者网络带宽使用率很高,可能表示网络存在问题。可以进一步分析是哪个应用程序在大量使用网络资源。
通过灵活使用sar命令,可以全面了解系统的性能状况,及时发现问题并采取相应的措施进行优化和调整。

本篇完结。
码字不易,宝贵经验分享不易,请各位支持原创,转载注明出处,多多关注作者。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于SpringBoot+Vue+MySQL的校园二手物品交易系统

系统展示 用户前台界面 管理员后台界面 系统背景 校园二手物品交易系统开发的背景与重要性随着高等教育的蓬勃发展,大学生群体的规模持续扩大,随之而来的是物品更新换代速度的显著加快。学生们在追求新潮、高品质生活的同时,往往会产生大量闲…

多文件并发多线程MD5工具(相对快速的MD5一批文件),适配自定义MD5 Hash I/O缓存。

自己写的多文件 MD5校验工具,一个文件开一个线程,有最大I/O 缓存设置,兼容读写MD5后缀文件。 共计91个文件,合计180G左右 12分钟左右,UI基本卡废,但程序没蹦,属于正常。 卡的原因是基本是用 I/O…

手机使用技巧:8 个 Android 锁屏移除工具 [解锁 Android]

有时候,您会被锁定在自己的 Android 设备之外,而且似乎不可能重新进入。 一个例子就是你买了一部二手手机,后来发现无法使用。另一种情况是你忘记了屏幕锁定密码和用于验证密码的 Google 帐户凭据。这种情况很少见,但确实会发生&…

[uni-app]小兔鲜-07订单+支付

订单模块 基本信息渲染 import type { OrderState } from /services/constants import type { AddressItem } from ./address import type { PageParams } from /types/global/** 获取预付订单 返回信息 */ export type OrderPreResult {/** 商品集合 [ 商品信息 ] */goods: …

MongoDB 数据库服务搭建(单机)

下载地址 下载测试数据 作者:程序那点事儿 日期:2023/02/15 02:16 进入下载页,选择版本后,右键Download复制连接地址 下载安装包 ​ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.14.tgz​ …

java计算机毕设课设—推箱子游戏(附源码、文章、相关截图、部署视频)

这是什么系统? 基于JAVA的推箱子游戏是一个经典的益智游戏,旨在通过推动箱子到指定位置来锻炼玩家的思维和策略能力。本游戏提供了多种不同难度的关卡,以满足不同玩家的需求。整个程序包括五个主要模块:初始化模块、画图模块、移…

如何使用ssm实现基于SSM的宠物服务平台的设计与实现+vue

TOC ssm779基于SSM的宠物服务平台的设计与实现vue 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化&#x…

中九无科研无竞赛保研经验帖——上交软院、中科大计算机、复旦工程硕、南大工程硕、浙大软件

本人bg: 学校:中九软件工程rk:夏令营5%,预推免3%(都是写的预估排名)六级:480, 四级:540科研:无竞赛:美赛M,以及水赛国三、省二若干 保研前期没有…

【第三版 系统集成项目管理工程师】第15章 组织保障

持续更新。。。。。。。。。。。。。。。 【第三版】第十五章 组织保障 15.1信息和文档管理15.1.1 信息和文档1.信息系统信息-P5462.信息系统文档-P546 15.1.2 信息(文档)管理规则和方法1.信息(文档)编制规范-P5472.信息(文档)定级保护-P5483.信息(文档)配置管理-P549练习 15.…

STM32三种启动模式:【详细讲解】

STM32在上电后,从那里启动是由BOOT0和BOOT1引脚的电平决定的,如下表: BOOT模式选引脚启动模式BOOT0BOOT1X0主Flash启动01系统存储器启动11内置SRAM启动 BOOT 引脚的值在重置后 SYSCLK 的第四个上升沿时被锁定。在重置后,由用户决定是如何设…

加密与安全_HOTP一次性密码生成算法

文章目录 HOTP 的基础原理HOTP 的工作流程HOTP 的应用场景HOTP 的安全性安全性增强措施Code生成HOTP可配置项校验HOTP可拓展功能计数器(counter)计数器在客户端和服务端的作用计数器的同步机制客户端和服务端中的计数器表现服务端如何处理计数器不同步计…

数据链路层 ——MAC

目录 MAC帧协议 mac地址 以太网帧格式 ARP协议 ARP报文格式​编辑 RARP 其他的网络服务或者协议 DNS ICMP协议 ping traceroute NAT技术 代理服务器 网络层负责规划转发路线,而链路层负责在网络节点之间的转发,也就是"一跳"的具体传输…

R语言的下载、安装及环境配置(RstudioVSCode)

0x01 R语言篇 一、软件介绍 R for Windows是一个免费的用于统计计算和统计制图的优秀工具,是R语言开发工具。它拥有数据存储和处理系统、数组运算工具(其向量、矩阵运算方面功能尤其强大)、完整连贯的统计分析工具、优秀的统计制图等功能。…

大厂笔试现已经禁用本地IDE怎么看

如果我说本来面试做题这种事情就是反人类你相信吗? 这个罪恶的源头就是 Google,说是为了选择高素质的计算机编程水平的人才,然后把面试就变成了考试,最大的受益者当然是印度人了。 当把一个考察过程变成标准化的考试过程&#x…

CTFshow 命令执行 web29~web36(正则匹配绕过)

目录 web29 方法一:include伪协议包含文件读取 方法二:写入文件 方法三:通识符 web30 方法一:filter伪协议文件包含读取 方法二:命令执行函数绕过 方法三:写入文件 web31 方法一:filter伪…

openEuler 24.03 (LTS) 部署 K8s(v1.31.1) 高可用集群(Kubespray Ansible 方式)

写在前面 实验需要一个 CNI 为 flannel 的 K8s 集群之前有一个 calico 的版本有些旧了,所以国庆部署了一个v1.31.1 版本 3 * master 5 * work时间关系直接用的工具 kubespray博文内容为部署过程以及一些躺坑分享需要科学上网理解不足小伙伴帮忙指正 😃,生活加油 99…

用示波器测动态滞回线

大学物理(下)实验-中南民族大学通信工程2022级 手动逐个处理数据较为麻烦且还要绘图,故想到用pythonmatplotlib来计算结果并数据可视化。 代码实现 import matplotlib.pyplot as plt# 样品一磁化曲线 X [0, 0.2, 0.4, 0.6, 0.8, 1, 1.5, 2.…

macos安装mongodb

文章目录 说明安装和配置安装mongodb配置PATH变量 验证日志及数据存放目录 mac启动和关闭mongodb后台启动失败问题mongodb-compass(GUI) 说明 Homebrew core 列表目前已经将 MongoDB 移除,不再为其提供支持。但是使用国内镜像的brew还是可以安装的!这里直接从官网下…

小阿轩yx-案例:jenkins部署Maven和NodeJS项目

小阿轩yx-案例:jenkins部署Maven和NodeJS项目 前言 在 Java 项目开发中,项目的编译、测试、打包等是比较繁琐的,属于重复劳动的工作,浪费人力和时间成本。以往开发项目时,程序员往往需要花较多的精力在引用 jar 包搭…

MOELoRA —— 多任务医学应用中的参数高效微调方法

人工智能咨询培训老师叶梓 转载标明出处 在医疗场景中,LLMs可以应用于多种不同的任务,如医生推荐、诊断预测、药物推荐、医学实体识别、临床报告生成等。这些任务的输入和输出差异很大,给统一模型的微调带来了挑战。而且LLMs的参数众多&…