Linux系统下的性能分析命令
在 Linux 系统下,有许多用于性能分析和调试的命令和工具,可以帮助您识别系统瓶颈、优化性能以及调查问题。本文将介绍在性能分析过程中,可能使用到的一些命令。
以下是一些常用的性能分析命令和工具汇总:
| 命令 | 功能简述 |
|---|---|
top | 用于实时监视系统中运行的进程和系统性能指标,如CPU使用率、内存使用率等。 |
nmon | 一个性能监控工具,提供实时的系统性能数据,包括CPU、内存、磁盘、网络等信息。 |
lsof | 用于列出打开的文件和网络连接,可以用于查找资源泄漏和不正常的连接。 |
pidstat | 用于监视进程级别的CPU、内存、IO等性能数据。 |
vmstat | 用于显示系统的虚拟内存、进程、CPU活动和IO统计信息。 |
iostat | 用于监视系统磁盘和IO性能,提供关于磁盘活动的信息。 |
tcpdump | 用于抓取网络数据包,对于网络性能分析和故障排除非常有用。 |
1、top
top 命令是 Linux 系统下常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况,如:CPU 使用率、内存使用率等。
1.1 语法
top [options]
常用选项:
-
-d或--delay: 指定刷新间隔,即 top 每隔多少秒更新一次,默认为 3 秒。 -
-n或--iterations: 指定刷新次数,即 top 更新数据的次数。 -
-u或--user: 仅显示指定用户的进程。 -
-p或--pid: 仅显示指定进程 ID 的信息。 -
-H:显示进程的层次关系,即显示线程。
1.2 示例
以下是一个 top 命令的示例输出:
top - 16:30:45 up 2 days, 5:37, 2 users, load average: 0.15, 0.18, 0.20
Tasks: 186 total, 1 running, 185 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.5 us, 0.5 sy, 0.0 ni, 97.9 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem : 16327936 total, 9359124 free, 2368572 used, 4600256 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 13755352 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND2191 alice 20 0 169168 14164 10964 S 3.0 0.1 0:07.83 gnome-terminal-2811 bob 20 0 2067296 301100 78964 S 2.0 1.8 30:02.45 firefox1 root 20 0 191064 7780 4744 S 0.0 0.0 0:06.07 systemd...
在上述示例中,每行输出信息分别为:
-
第一行:提供了系统的一般性信息。分别是系统当前时间、系统运行时间、当前登录用户数和负载平均值(
load average,即:任务队列的平均长度,3个值分别表示1分钟、5分钟、15分钟到现在的平均值)。 -
第二行:任务(Tasks)信息。分别是总任务数,显示了正在运行(
running)、睡眠(sleeping)、停止(stopped)和僵尸(``zombie)状态的进程数量。 -
第三行:CPU 统计信息。
us表示用户空间 CPU 占有率、sy表示内核空间 CPU 占用率、ni表示用户进程空间改变过优先级的进程 CPU 占有率、id表示空闲 CPU 占用率、wa表示等待输入输出的 CPU 时间百分比、hi表示硬件中断请求、si表示软件中断请求。 -
第四行:内存信息。分别为物理内存总量、已使用的物理内存、空闲物理内存、内核缓冲使用量。
-
第五行:交换区信息。分别为交换区总量、空闲交换区大小、缓冲交换区大小。
-
…:进程列表。每一行表示一个进程的信息,包括进程 ID、用户、CPU 使用率、内存使用率、进程状态等。
请注意,top 命令的输出会实时更新,您可以使用交互式命令来切换排序方式、改变显示内容等。例如,按下 M 可以按内存使用率排序进程,按下 P 可以按 CPU 使用率排序进程。要退出 top,您可以按下 q 键。
2、nmon
nmon 是一个用于实时监视系统性能的命令行工具,最初由 IBM 的 Nigel Griffiths 开发。它提供了一种简洁的方式来查看系统的CPU、内存、磁盘、网络等性能指标,以及进程级别的信息。
nmon 具有交互式界面,可以显示实时的性能数据,方便管理员和开发人员进行系统性能分析。
以下是 nmon 命令的一些常见用法和示例:
-
基本使用:
使用以下命令启动
nmon:nmon这将启动
nmon交互式界面,显示各种性能指标的实时数据。 -
指定刷新频率:
您可以使用
-s参数来指定刷新间隔,单位为秒。例如,以下命令将每隔2秒刷新一次数据:nmon -s 2 -
保存数据到文件:
您可以使用
-f参数将nmon的输出保存到文件中,以便后续分析。例如,以下命令将数据保存到名为nmon_output.nmon的文件中:nmon -f -c 10 -s 2 -T -m /path/to/nmon_output.nmon在这个示例中,
-c 10表示nmon运行10个循环后自动退出,-T表示在输出中包含时间戳。 -
只显示特定项目:
如果您只对特定性能指标感兴趣,可以使用
-d参数来指定要显示的项目。例如,以下命令只显示CPU和内存相关数据:nmon -d cpu,mem -
远程监视:
您可以通过SSH在远程系统上运行
nmon,然后将性能数据传输到本地进行分析。例如,以下命令在远程系统上运行nmon并将数据传输到本地:ssh user@remote_host "nmon -f -s 5 -c 10" > nmon_output.nmon
这些示例只是 nmon 的一小部分用法。nmon 还提供了许多其他选项和功能,可以根据您的需求进行调整和使用。要详细了解 nmon 的所有选项和功能,请查阅官方文档或运行 nmon 命令时使用 -h 参数查看帮助信息。
3、lsof
lsof(“List Open Files”)是一个用于列出在 Linux 系统上被进程打开的文件和网络连接的命令。它可以帮助您查看哪些进程正在访问哪些文件,以及网络连接的相关信息。
lsof 可以用于排查资源泄漏、寻找进程占用文件等问题。
3.1 语法
以下是一些常用的 lsof 命令选项及其说明:
-
-i: 列出网络连接。 -
-n: 不解析主机名和端口号。 -
-c <进程名>: 仅列出特定进程的信息。 -
-p <进程ID>: 列出指定进程的信息。 -
-u <用户名>: 列出属于特定用户的信息。 -
-t: 仅显示进程ID。 -
-F <格式>: 使用指定的格式输出。
3.2 示例
以下是一些示例,演示了如何使用 lsof 命令:
-
列出所有打开的文件和网络连接:
lsof -
列出特定文件的打开者:
lsof /path/to/file -
列出特定端口的网络连接:
lsof -i :<port> -
列出某个用户打开的文件:
lsof -u <username> -
列出特定进程的打开文件:
lsof -p <pid> -
列出特定类型的文件(例如,TCP连接):
lsof -i tcp -
列出所有网络连接,但不解析主机名和端口号:
lsof -ni -
以机器可读的格式输出信息:
lsof -F json -
列出所有正在使用某个设备的进程:
lsof /dev/sda1
请注意,lsof 命令提供了丰富的信息,包括文件描述符、文件类型、文件位置、打开方式、进程ID、用户等等。您可以根据需要使用不同的选项来过滤和查看所需的信息。使用 man lsof 命令可以查看完整的命令文档和详细说明。
4、pidstat
pidstat 是一个用于监视进程级别性能统计的命令行工具,它可以提供有关CPU使用率、内存使用率、IO活动等信息。它是 sysstat 套件的一部分,需要安装才能使用。
4.1 语法
以下是 pidstat 命令的常用选项:
-
-u: 显示CPU使用率和统计信息。 -
-r: 显示内存使用率和统计信息。 -
-d: 显示磁盘IO统计信息。 -
-t: 显示进程启动时间。 -
-p <PID>: 指定要监视的特定进程ID。 -
-h: 显示帮助信息。
4.2 示例
下面列举了一些示例。
-
显示进程的CPU使用率和统计信息:
pidstat -u 1这将每秒显示一次CPU使用率和统计信息,默认显示所有进程的数据。可以通过添加
-p <PID>选项指定特定的进程。 -
显示进程的内存使用率和统计信息:
pidstat -r 1类似于上面的示例,这将每秒显示一次内存使用率和统计信息。
-
显示进程的磁盘IO统计信息:
pidstat -d 1这将每秒显示一次磁盘IO统计信息,包括读写速率、读写次数等。
-
显示特定进程的CPU使用率和统计信息:
pidstat -u -p <PID> 1这将每秒显示指定进程的CPU使用率和统计信息,其中
<PID>是目标进程的进程ID。 -
显示进程的启动时间:
pidstat -t这将显示所有进程的启动时间。
pidstat 可以帮助您深入了解特定进程的性能行为,从而进行性能调优、问题排查等工作。请注意,具体选项和输出格式可能会因系统版本而异,您可以通过 man pidstat 查看完整的命令手册以获取更多信息。
5、vmstat
vmstat(Virtual Memory Statistics)是一个在 Linux 系统中常用的性能分析工具,它提供了关于系统虚拟内存、进程、CPU活动和IO的详细统计信息。通过使用 vmstat,您可以实时监控系统的性能,并且可以快速识别出潜在的瓶颈和问题。
5.1 语法
vmstat [options] [delay [count]]
-
options: 用于指定一些特定的输出选项。 -
delay: 两次输出之间的时间间隔(以秒为单位)。 -
count: 输出次数限制。
5.2 示例
vmstat 5 3
这个示例命令会每隔5秒输出一次统计数据,一共输出3次。
输出示例:
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 244304 67420 802252 0 0 0 4 3 4 1 1 97 1 00 0 0 243968 67420 802256 0 0 0 0 1159 2292 1 1 98 0 00 0 0 243636 67420 802256 0 0 0 0 1173 2261 1 1 98 0 0
在这个示例中,输出的各个列给出了不同的统计信息,包括进程状态、内存使用、交换空间使用、IO活动、系统活动以及CPU使用率等。通过观察这些数据,您可以了解系统的性能情况并识别潜在的问题。
vmstat 输出的列含义:
-
procs: 进程相关统计。r: 正在运行的进程数、b: 等待运行的进程数。 -
memory: 内存相关统计。swpd: 虚拟内存使用量(以KB为单位)、free: 空闲内存(以KB为单位)、buff: 用作缓冲的内存(以KB为单位)、cache: 用作缓存的内存(以KB为单位)。 -
swap: 交换空间相关统计。si: 从磁盘读入交换区的数据量(以KB为单位)、so: 向磁盘写入交换区的数据量(以KB为单位)。 -
io: IO相关统计。bi: 每秒从块设备读入的块数量(如硬盘)(以块为单位)、bo: 每秒写入块设备的块数量(以块为单位)。 -
system: 系统相关统计。in: 每秒的中断数、cs: 每秒上下文切换数。 -
cpu: CPU使用情况统计。%us: 用户空间CPU使用率、%sy: 系统CPU使用率、%id: 空闲CPU百分比、%wa: 等待IO的CPU百分比、%st: 用于虚拟化的CPU时间百分比。
6、iostat
iostat 是一个在 Linux 系统中常用的命令,用于监视系统的磁盘和IO性能。它能够提供关于磁盘活动、IO延迟和吞吐量等信息,对于识别磁盘性能瓶颈和调优非常有帮助。
请注意,iostat 命令需要安装 sysstat 包才能使用。在大多数Linux发行版中,您可以使用包管理器来安装 sysstat 包。
6.1 语法
iostat [options] [interval] [count]
选项解释:
-
-c:显示CPU统计信息。 -
-d:显示磁盘统计信息。 -
-k:以千字节为单位显示数据。 -
-m:以兆字节为单位显示数据。 -
-x:显示扩展统计信息,包括更多的磁盘和分区信息。
6.2 示例
iostat 命令的输出包含了各个磁盘和分区的统计数据,以及系统的平均负载、CPU利用率、上下文切换等信息。以下是示例输出的一部分:
Linux 5.4.0-81-generic (hostname) 08/13/2023 _x86_64_ (8 CPU)avg-cpu: %user %nice %system %iowait %steal %idle7.13 0.00 1.45 0.46 0.00 90.96Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 2.14 18.60 19.84 123759 132016
sdb 0.06 0.28 0.00 1863 0
在这个示例中,avg-cpu 部分显示了 CPU 利用率的统计信息,Device 部分显示了每个磁盘设备的统计数据,包括传输速率和总的读写字节数。您可以根据输出来评估系统的磁盘性能和负载情况。
-
显示平均IO统计信息,每秒更新一次,共更新5次:
iostat -
显示详细的磁盘IO统计信息,每秒更新一次,共更新3次:
iostat -d 1 3 -
以千字节为单位显示数据,显示CPU和磁盘统计信息,每秒更新一次,共更新4次:
iostat -k -c -d 1 4 -
显示扩展的磁盘IO统计信息,每秒更新一次,共更新5次:
iostat -x 1 5
7、tcpdump
tcpdump 是一个在 Unix 系统上常用的网络抓包工具,用于捕获和分析网络数据包。它能够监听网络接口,捕获经过该接口的数据包,并以可读的格式显示数据包的内容。
tcpdump 支持多种过滤选项,以便只捕获感兴趣的数据包。
以下是一些常用的 tcpdump 命令选项以及示例说明:
-
基本使用:
tcpdump这将在默认网络接口上捕获所有的数据包。但是,通常情况下,您会希望使用其他选项来限制抓包的范围。
-
指定网络接口:
tcpdump -i eth0通过
-i选项指定要捕获的网络接口,这里是eth0。 -
指定数据包数量:
tcpdump -c 10使用
-c选项可以指定捕获的数据包数量,这里捕获前 10 个数据包。 -
捕获特定主机的数据包:
tcpdump host 192.168.1.100使用
host关键字可以捕获特定主机的所有数据包。 -
捕获特定端口的数据包:
tcpdump port 80使用
port关键字可以捕获特定端口的数据包,这里是端口 80(HTTP)的数据包。 -
组合多个过滤条件:
tcpdump host 192.168.1.100 and port 22可以使用逻辑运算符
and来组合多个过滤条件,这里捕获主机 192.168.1.100 上的端口 22(SSH)数据包。 -
保存抓包结果到文件:
tcpdump -w capture.pcap使用
-w选项可以将抓包结果保存到文件中,文件格式为 pcap。 -
读取保存的抓包文件:
tcpdump -r capture.pcap使用
-r选项可以读取保存的抓包文件并显示其内容。 -
显示详细数据包信息:
tcpdump -v使用
-v选项可以显示详细的数据包信息。 -
显示更详细的数据包信息:
tcpdump -vv
使用 -vv 选项可以显示更详细的数据包信息,包括解析的协议头。
这只是 tcpdump 的一些基本用法示例,该工具还支持许多其他选项和过滤条件,以满足各种网络抓包和分析的需求。请注意,由于抓包涉及到访问网络数据,通常需要以 root 或者具有适当权限的用户身份运行 tcpdump。
相关文章:
Linux系统下的性能分析命令
在 Linux 系统下,有许多用于性能分析和调试的命令和工具,可以帮助您识别系统瓶颈、优化性能以及调查问题。本文将介绍在性能分析过程中,可能使用到的一些命令。 以下是一些常用的性能分析命令和工具汇总: 命令功能简述top用于实…...
第十三课:QtCmd 命令行终端应用程序开发
功能描述:开发一个类似于 Windows 命令行提示符或 Linux 命令行终端的应用程序 一、最终演示效果 QtCmd 不是因为它是 Qt 的组件,而是采用 Qt 开发了一个类似 Windows 命令提示符或者 Linux 命令行终端的应用程序,故取名为 QtCmd。 上述演示…...
Jmeter进阶使用:BeanShell实现接口前置和后置操作
一、背景 我们使用Jmeter做压力测试或者接口测试时,除了最简单的直接对接口发起请求,很多时候需要对接口进行一些前置操作:比如提前生成测试数据,以及一些后置操作:比如提取接口响应内容中的某个字段的值。举个最常用…...
【知识分享】高防服务器的防御机制
【知识分享】高防服务器的防御机制 易受到攻击的网站选择接入高防服务更安全,大家对于这个都清楚!但是对于高防服务如何实现防御来保障安全的,又了解多少呢?今天壹基比小源(贰伍壹叁壹叁壹贰玖捌)就来说说高防服务实现防御的常规…...
内网穿透-外远程连接中的RabbitMQ服务
文章目录 前言1.安装erlang 语言2.安装rabbitMQ3. 内网穿透3.1 安装cpolar内网穿透(支持一键自动安装脚本)3.2 创建HTTP隧道 4. 公网远程连接5.固定公网TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 RabbitMQ是一个在 AMQP(高级消息队列协议)基…...
驱动DAY4 字符设备驱动分步注册和ioctl函数点亮LED灯
头文件 #ifndef __HEAD_H__ #define __HEAD_H__ typedef struct{unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;unsigned int ODR; }gpio_t; #define PHY_LED1_ADDR 0X50006000 #define PHY_LED2_ADDR 0X50007000 #d…...
Python爬虫——scrapy_当当网图书管道封装
创建爬虫项目 srcapy startproject scrapy_dangdang进入到spider文件里创建爬虫文件(这里爬取的是青春文学,仙侠玄幻分类) srcapy genspider dang http://category.dangdang.com/cp01.01.07.00.00.00.html获取图片、名字和价格 # 所有的se…...
Linux下如何修改CPU 电源工作模式
最近处理一起历史遗留问题,感觉很爽。 现象: 背景:设备采用ARM,即rk3568处理器,采用Linux系统;主要用于视觉后端处理 现象:当软件运行一段时间,大概1个小时(也不是很固定…...
Effective C++学习笔记(8)
目录 条款49:了解new-handler的行为条款50:了解new和delete的合理替换时机条款51:编写new和delete时需固守常规条款52:写了placement new也要写placement delete条款53:不要轻忽编译器的警告条款54:让自己熟…...
学校如何公布录取情况表?这个不用技术的方法,小白老师都能轻松制作
作为一名教师,我深切了解学生和家长们对录取情况的关注和重视。为了满足他们的需求,我们学校一直致力于改进公布录取情况的方式和效果。在本篇文章中,我将向您介绍我们学校独特的录取查询系统,并分享我们选择这种方式的原因。 我…...
Chart GPT免费可用地址共享资源
GPT4.0: https://gpt4e.ninvfeng.xyz github:https://github.com/ninvfeng/chatgpt4 WeUseAi:https://chatb.weuseai.pro AI.LS:https://n7.gpt03.xyz ChatX (iOS/macOS应用):https://itunes.apple.com/app/id6446304087 ch…...
设计模式十八:中介者模式(Mediator Pattern)
在中介者模式中,多个对象之间不再直接相互通信,而是通过一个中介者对象进行通信。这可以减少对象之间的依赖关系,使系统更加模块化。中介者模式适用于当对象之间的通信逻辑变得复杂,导致代码难以维护和理解时。 中介者模式使用场…...
神经网络基础-神经网络补充概念-12-向量化逻辑回归的梯度输出
代码实现 import numpy as npdef sigmoid(z):return 1 / (1 np.exp(-z))def compute_loss(X, y, theta):m len(y)h sigmoid(X.dot(theta))loss (-1/m) * np.sum(y * np.log(h) (1 - y) * np.log(1 - h))return lossdef compute_gradient(X, y, theta):m len(y)h sigmoi…...
2023-08-16力扣每日一题
链接: 2682. 找出转圈游戏输家 题意: 环形1到n,从1开始,每次移动 第i次*k ,当移动到出现过的序号时停下, 求没移动到的数字 解: 简单模拟题,我也以为有数学做法,可…...
耗资170亿美元?三星电子在得克萨斯州建设新的半导体工厂
据报道,三星电子在得克萨斯州泰勒市建设的新的半导体工厂预计将于2024年下半年投入运营。这座工厂将成为三星电子在美国的第二座芯片代工厂,与位于得克萨斯州奥斯汀市的第一座工厂相距不远。 此次投资将耗资约170亿美元,显示了三星电子在半导…...
黑马项目一阶段面试58题 Web14题(一)
一、什么是AJAX 异步的JavaScript和XML。用来做前端和后端的异步请求的技术。 异步请求:只更新部分前端界面的请求,做到局部更新。 比如注册,提示用户名已存在而整个页面没有动 比如百度图片搜索美女,进度条越变越短ÿ…...
多线程与高并发--------线程池
线程池 一、什么是线程池 在开发中,为了提升效率的操作,我们需要将一些业务采用多线程的方式去执行。 比如有一个比较大的任务,可以将任务分成几块,分别交给几个线程去执行,最终做一个汇总就可以了。 比如做业务操…...
深度学习实战48-【未来的专家团队】基于AutoCompany模型的自动化企业概念设计与设想
大家好,我是微学AI,今天给大家介绍一下深度学习实战48-【未来的专家团队】基于AutoCompany模型的自动化企业概念设计与设想,文本将介绍AutoCompany模型的概念设计,涵盖了AI智能公司的各个角色,并结合了GPT-4接口来实现各个角色的功能,设置中央控制器,公司运作过程会生成…...
深入剖析:如何通过API优化云计算架构?快来看!
在当今数字化时代,云计算已经成为企业实现创新、提高效率和降低成本的核心策略之一。而在构建和管理云计算架构时,API(应用程序编程接口)的作用变得愈发重要。本文将深入探讨如何通过API优化云计算架构,实现更高效、灵…...
基于STM32设计的中药分装系统
一、设计需求 基于STM32设计的中药分装系统 【1】项目背景 中药文化是我国文化瑰宝之一,它具有疗效好、副作用小的优点,而且相对于西药,全天然的中药还具有标本兼治的特点,不仅可以用来治病,更可以对患者身体进行调理,所以格外受到当今一直追求生活质量的人们的追捧&quo…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
Kafka主题运维全指南:从基础配置到故障处理
#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...
