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

news2024/11/20 8:42:19

本篇介绍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命令,可以全面了解系统的性能状况,及时发现问题并采取相应的措施进行优化和调整。

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++继承实例讲解

C类继承的基本概念 base class,基类、父类 derived class,派生类、子类 C中的类可以扩展,创建保留基类特征的新类,这个过程称之为继承。类继承也可以描述为:派生类继承基类的成员,并在其上添加自己的成员…

【hot100-java】【单词搜索】

回溯 回溯可以使用DFS剪枝解决 class Solution {public boolean exist(char[][] board, String word) {char[] wordsword.toCharArray();for(int i0;i<board.length;i){for(int j0;j<board[0].length;j){if(dfs(board,words,i,j,0)) return true;}}return false;}boolean…

关于Elastic Search与MySQL之间的数据同步

目录 前言 思路分析 同步调用 异步通知 监听binlog 选择 实现数据同步 思路 运行项目 声明交换机、队列 1&#xff09;引入依赖 2&#xff09;声明队列交换机名称 3&#xff09;声明队列交换机 发送MQ消息 接收MQ消息 前言 Elastic Search中的酒店数据来自于MyS…

TypeScript 算法手册【插入排序】

文章目录 TypeScript 算法手册 - 插入排序1. 插入排序简介1.1 插入排序定义1.2 插入排序特点 2. 插入排序步骤过程拆解2.1 选择当前元素2.2 寻找插入位置2.3 插入元素 3. 插入排序的优化3.1 二分查找插入排序案例代码和动态图 4. 插入排序的优点5. 插入排序的缺点总结 【 已更新…

48.哀家要长脑子了!

1.376. 摆动序列 - 力扣&#xff08;LeetCode&#xff09; 看问题抓本质 本质&#xff01;&#xff01;识别和追踪数组中元素值的变化趋势。摆动序列是什么&#xff0c;什么是摆动序列&#xff0c;就是差值正负正负的来&#xff0c;最后要求摆动序列的子序列的长度的话&#x…

如何在KEIL的Debug模式下导出数据

我们知道&#xff0c;利用Keil编写程序时&#xff0c;可以实时显示数据的值&#xff0c;如上图所示&#xff0c;实时显示Voltage和fre的值&#xff0c;那如何导出该数据呢&#xff0c;下边进行详细说明。 首先&#xff0c;进入Debug模式&#xff0c;点击调试里边的函数编辑器。…

计算机毕业设计 基于Python的摄影平台交流系统的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

GPU、AI、CUDA

文章目录 1.千层面层多层 2. CPU与GPU架构差异3.大规模矩阵操作4.专为并行计算设计的库 1.千层面 神经网络的本质是千层面&#xff0c;由一层一层的线性代数方程组成&#xff0c;每个方程都表示一段数据与另一段数据相关的可能性 层 神经网络的每一次层可以看作是一次线性代…

泰勒图 ——基于相关性与标准差的多模型评价指标可视化比较-XGBoost、sklearn

1、基于相关性与标准差的多模型评价指标可视化比较 # 数据读取并分割 import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split plt.rcParams[font.family] = Times New Roman plt.rcParams[axes.unic…

工单管理系统功能解析,企业运营效率提升利器

工单管理系统如ZohoDesk提供工单生成分配、跟踪、数据分析、客户服务管理及移动兼容等功能&#xff0c;提升效率、增强服务、便于监管和降低成本&#xff0c;是现代企业信息化建设的重要部分。 一. 工单管理系统一般有哪些功能 1. 工单生成与分配 工单管理系统的基础功能是创…

Webstorm 中对 Node.js 后端项目进行断点调试

首先&#xff0c;肯定需要有一个启动服务器的命令脚本。 然后&#xff0c;写一个 debug 的配置&#xff1a; 然后&#xff0c;debug 模式 启动项目和 启动调试服务&#xff1a; 最后&#xff0c;发送请求&#xff0c;即可调试&#xff1a; 这几个关键按钮含义&#xff1a; 重启…

8.数据结构与算法-双向链表

双向链表的结构定义 从第二个指针找到下一个元素 从第一个指针找到上一个元素 双向循环列表 从第二个指针找到下一个元素&#xff0c;第二个指针可以往前循环找到链表开头 从第一个指针找到上一个元素&#xff0c;第一个指针可以往前循环昭侯链表结尾 双向链表的插入 双向链…

NLP:BERT的介绍并使用该模型计算文本相似度

1. BERT 1.1 Transformer Transformer架构是一种基于自注意力机制(self-attention)的神经网络架构&#xff0c;它代替了以前流行的循环神经网络和长短期记忆网络&#xff0c;已经应用到多个自然语言处理方向。   Transformer架构由两个主要部分组成&#xff1a;编码器(Encod…

uniapp中实现评分组件,多用于购买商品后,对商品进行评价等场景

前言 uni-rate是uniapp框架中提供的一个评分组件。它可以用于用户评价、打分等场景。uni-rate组件可以根据设定的星星总数&#xff0c;展示用户评分的效果&#xff0c;用户可以通过点击星星或滑动星星的方式进行评分。同时&#xff0c;uni-rate组件也支持自定义星星图标、星星…

关于CSS Grid布局

关于CSS Grid布局 实际效果参考 参考代码 <template><view class"baseInfo"><up-image class"cover" height"160rpx" width"120rpx" :src"bookInfo.cover"><template #error><view style"…

疾风大模型气象,基于气象数据打造可视化平台

引言 随着气象数据的广泛应用&#xff0c;越来越多的行业依赖天气预报与气候分析来做出决策。从农业、航空、能源到物流&#xff0c;气象信息无时不刻影响着各行各业的运作。然而&#xff0c;气象数据本身复杂且多样&#xff0c;如何将这些数据转化为直观、易于理解的图形和信…

MetaJUI v0.4 遇到的一些问题及解决办法记录

1、Unity3d 版本 2022.3.29f1。 2、MetaJUI v0.4 的下载&#xff0c;https://download.csdn.net/download/xingchengaiwei/89334848 3、将MetaJUI v0.4解压&#xff0c;用Unity3d 打开项目&#xff0c;会出现如下问题&#xff0c;按照图中提示操作即可。 4、打开工程后会出现…

第三人称射击游戏人物瞄准仰角的控制方案

这个功能有多种方案实现&#xff0c;总体可以分为两类&#xff1a; 1.改变腰的旋转&#xff1b; 2.改变手臂和头的旋转&#xff1b; 其中方案1&#xff1a; 只要转动腰一个骨骼&#xff0c;比较简单&#xff1b; 但是因为腰以上的部分都不动&#xff0c;第三人称比较僵硬&…

tk.mapper框架使用

说明&#xff1a;tk.mapper是一款DAO框架&#xff0c;也是基于Mybatis的&#xff0c;个人感觉&#xff0c;他是基于MyBatis和MyBatis-plus、MyBatis-Flex之间的过渡框架——能调用DAO的API&#xff0c;不手写SQL&#xff0c;但功能没有后面这两款框架多。本文介绍tk.mapper框架…

PyInstaller打包并设置图标

PyInstaller 是一个用于将 Python 代码打包成独立可执行文件的工具。如果你的 Python 代码中使用了一些资源文件&#xff08;如图片、音频、配置文件等&#xff09;&#xff0c;那么你需要将这些资源文件一起打包到可执行文件中&#xff0c;以便在运行时能够访问这些资源。 以…