linux性能监控之sar
1.sar命令介绍
sar是一个非常全面的分析工具,可以对文件的读写,系统调用的使用情况,磁盘IO,CPU相关使用情况,内存使用情况,进程活动等都可以进行有效的分析。
sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。
它的特点是可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。
[root@k8s-master ~]# sar --help
Usage: sar [ options ] [ <interval> [ <count> ] ]
Options are:
[ -A ] [ -B ] [ -b ] [ -C ] [ -d ] [ -F [ MOUNT ] ] [ -H ] [ -h ] [ -p ] [ -q ] [ -R ]
[ -r ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -V ] [ -v ] [ -W ] [ -w ] [ -y ]
[ -I { <int> [,...] | SUM | ALL | XALL } ] [ -P { <cpu> [,...] | ALL } ]
[ -m { <keyword> [,...] | ALL } ] [ -n { <keyword> [,...] | ALL } ]
[ -j { ID | LABEL | PATH | UUID | ... } ]
[ -f [ <filename> ] | -o [ <filename> ] | -[0-9]+ ]
[ -i <interval> ] [ -s [ <hh:mm:ss> ] ] [ -e [ <hh:mm:ss> ] ]
-A:所有报告的总和
-u:输出CPU使用情况的统计信息
-v:输出inode、文件和其他内核表的统计信息
-d:输出每一个块设备的活动信息
-r:输出内存和交换空间的统计信息
-b:显示I/O和传送速率的统计信息-R:输出内存页面的统计信息
-y:终端设备活动情况
-w:输出系统交换活动信息
-B:显示换页状态;
-e:设置显示报告的结束时间
-f:从指定文件提取报告
-i:设状态信息刷新的间隔时间
-p:报告每个CPU的状态-q:平均负载分析
2.常用命令介绍:
2.1 对CPU利用率进行统计:sar -u [ <时间间隔> [ <次数> ] ]
[root@k8s-master ~]# sar -u 1 3
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 05/11/2024 _x86_64_ (2 CPU)08:56:43 AM CPU %user %nice %system %iowait %steal %idle
08:56:44 AM all 1.07 0.00 2.14 0.00 0.00 96.79
08:56:45 AM all 2.09 0.00 2.09 0.00 0.00 95.81
08:56:46 AM all 2.11 0.00 5.26 0.00 0.00 92.63
Average: all 1.76 0.00 3.17 0.00 0.00 95.07注:
CPU:all 表示统计信息为所有 CPU 的平均值。
%user:显示在用户级别(application)运行使用 CPU 总时间的百分比
%nice:显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比
%system:在核心级别(kernel)运行所使用 CPU 总时间的百分比
%iowait:显示用于等待I/O操作占用 CPU 总时间的百分比
%steal:管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比
%idle:显示 CPU 空闲时间占用 CPU 总时间的百分比1. 若 %iowait 的值过高,表示硬盘存在I/O瓶颈2. 若 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量3. 若 %idle 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU
2.2 对网络进行统计:sar -n <关键词> [ <时间间隔> [ <次数> ] ]
[root@k8s-master ~]# sar -n DEV 1 1
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 05/11/2024 _x86_64_ (2 CPU)09:06:31 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
09:06:32 AM cali324bad13e1c 0.00 0.00 0.00 0.00 0.00 0.00 0.00
09:06:32 AM lo 177.00 177.00 20.65 20.65 0.00 0.00 0.00
09:06:32 AM cali605405e33b2 0.00 0.00 0.00 0.00 0.00 0.00 0.00
09:06:32 AM virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00
09:06:32 AM virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
09:06:32 AM ens33 2.00 2.00 0.15 0.22 0.00 0.00 0.00
09:06:32 AM calie83b417d9e6 0.00 0.00 0.00 0.00 0.00 0.00 0.00
09:06:32 AM tunl0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
09:06:32 AM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
Average: cali324bad13e1c 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: lo 177.00 177.00 20.65 20.65 0.00 0.00 0.00
Average: cali605405e33b2 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: ens33 2.00 2.00 0.15 0.22 0.00 0.00 0.00
Average: calie83b417d9e6 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: tunl0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00注:
命令中 1 1 表示每一秒钟取 1 次值,一共取 1 次。
2.3 对索引节点,文件和其他的内核表的状态进行统计:sar -v [ <时间间隔> [ <次数> ] ]
[root@k8s-master ~]# sar -v 1 3
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 05/11/2024 _x86_64_ (2 CPU)08:58:18 AM dentunusd file-nr inode-nr pty-nr
08:58:19 AM 11459 6080 41891 2
08:58:20 AM 11459 6080 41891 2
08:58:21 AM 11479 6080 41891 2
Average: 11466 6080 41891 2注:
dentunusd:目录高速缓存中未被使用的条目数量
file-nr:文件句柄(file handle)的使用数量
inode-nr:索引节点句柄(inode handle)的使用数量
pty-nr:使用的 pty 数量
2.4 对内存利用率的统计:sar -r [ <时间间隔> [ <次数> ] ]
[root@k8s-master ~]# sar -r 1 3
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 05/11/2024 _x86_64_ (2 CPU)08:59:33 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
08:59:34 AM 106216 1756600 94.30 0 557132 4552640 244.40 1182992 263940 0
08:59:35 AM 106216 1756600 94.30 0 557132 4552640 244.40 1183000 263936 0
08:59:36 AM 106216 1756600 94.30 0 557132 4552640 244.40 1183000 263936 0
Average: 106216 1756600 94.30 0 557132 4552640 244.40 1182997 263937 0注:
kbmemfree:这个值和 free 命令中的 free 值基本一致,所以它不包括 buffer 和 cache 的空间
kbmemused:这个值和 free 命令中的 used 值基本一致,所以它包括 buffer 和 cache 的空间
%memused:这个值是 kbmemused 和内存总量(不包括 swap)的一个百分比
kbbuffers 和 kbcached:这两个值就是 free 命令中的 buffer 和 cache
kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM + swap)
%commit:这个值是 kbcommit 与内存总量(包括 swap)的一个百分比
2.5 对内存分页状况统计:sar -B [ <时间间隔> [ <次数> ] ]
[root@k8s-master ~]# sar -B 1 3
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 05/11/2024 _x86_64_ (2 CPU)09:00:24 AM pgpgin/s pgpgout/s fault/s majflt/s pgfree/s pgscank/s pgscand/s pgsteal/s %vmeff
09:00:25 AM 0.00 48.00 263.00 0.00 389.00 0.00 0.00 0.00 0.00
09:00:26 AM 0.00 0.00 35.00 0.00 66.00 0.00 0.00 0.00 0.00
09:00:27 AM 0.00 52.00 1604.00 0.00 499.00 0.00 0.00 0.00 0.00
Average: 0.00 33.33 634.00 0.00 318.00 0.00 0.00 0.00 0.00注:
pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)
pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)
fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)
majflt/s:每秒钟产生的主缺页数
pgfree/s:每秒被放入空闲队列中的页个数
pgscank/s:每秒被 kswapd 扫描的页个数
pgscand/s:每秒直接被扫描的页个数
pgsteal/s:每秒钟从 cache 中被清除来满足内存需要的页个数
%vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank + pgscand)的百分比
2.6 对I/O和传输速率信息状况统计:sar -b [ <时间间隔> [ <次数> ] ]
[root@k8s-master ~]# sar -b 1 3
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 05/11/2024 _x86_64_ (2 CPU)09:02:18 AM tps rtps wtps bread/s bwrtn/s
09:02:19 AM 5.00 0.00 5.00 0.00 48.00
09:02:20 AM 22.77 9.90 12.87 570.30 106.93
09:02:21 AM 1.00 0.00 1.00 0.00 8.00
Average: 9.63 3.32 6.31 191.36 54.49注:
tps:每秒钟物理设备的 I/O 传输总量
rtps:每秒钟从物理设备读入的数据总量
wtps:每秒钟向物理设备写入的数据总量
bread/s:每秒钟从物理设备读入的数据量,单位为:块/s
bwrtn/s:每秒钟向物理设备写入的数据量,单位为:块/s
2.7 对队列长度和平均负载统计:sar -q [ <时间间隔> [ <次数> ] ]
[root@k8s-master ~]# sar -q 1 3
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 05/11/2024 _x86_64_ (2 CPU)09:03:32 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
09:03:33 AM 1 582 3.04 1.25 0.66 0
09:03:34 AM 0 582 3.04 1.25 0.66 0
09:03:35 AM 0 582 3.04 1.25 0.66 0
Average: 0 582 3.04 1.25 0.66 0注:
runq-sz:运行队列的长度(等待运行的进程数)
plist-sz:进程列表中进程(processes)和线程(threads)的数量
ldavg-1:最后1分钟的系统平均负载(System load average)
ldavg-5:过去5分钟的系统平均负载
ldavg-15:过去15分钟的系统平均负载
2.8 对系统交换信息进行统计:sar -W [ <时间间隔> [ <次数> ] ]
[root@k8s-master ~]# sar -W 1 3
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 05/11/2024 _x86_64_ (2 CPU)09:04:27 AM pswpin/s pswpout/s
09:04:28 AM 0.00 0.00
09:04:29 AM 0.00 0.00
09:04:30 AM 0.00 0.00
Average: 0.00 0.00注:
pswpin/s:每秒系统换入的交换页面(swap page)数量
pswpout/s:每秒系统换出的交换页面(swap page)数量
2.9 块设备状况进行统计:sar -d [ <时间间隔> [ <次数> ] ]
[root@k8s-master ~]# sar -d 1 3
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 05/11/2024 _x86_64_ (2 CPU)09:08:54 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
09:08:55 AM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
09:08:55 AM dev8-16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0009:08:55 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
09:08:56 AM dev8-0 14.00 0.00 107.00 7.64 0.01 0.36 0.36 0.50
09:08:56 AM dev8-16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0009:08:56 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
09:08:57 AM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
09:08:57 AM dev8-16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
Average: dev8-0 4.67 0.00 35.67 7.64 0.00 0.36 0.36 0.17
Average: dev8-16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00注:
tps: 每秒从物理磁盘 I/O 的次数。多个逻辑请求会被合并为一个 I/O 磁盘请求,一次传输的大小是不确定的
rd_sec/s: 每秒读扇区的次数
wr_sec/s: 每秒写扇区的次数
avgrq-sz: 平均每次设备 I/O 操作的数据大小(扇区)
avgqu-sz: 磁盘请求队列的平均长度
await: 从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒=1000毫秒)
svctm: 系统处理每次请求的平均时间,不包括在请求队列中消耗的时间.
%util: I/O请求占CPU的百分比,比率越大,说明越饱和1. avgqu-sz 的值较低时,设备的利用率较高2. 当%util的值接近 1% 时,表示设备带宽已经占满
2.10 输出统计的数据信息:sar -o path_file [选项] [ <时间间隔> [ <次数> ] ]
[root@k8s-master ~]# sar -o sarfile.log -u 1 3
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 05/11/2024 _x86_64_ (2 CPU)09:09:51 AM CPU %user %nice %system %iowait %steal %idle
09:09:52 AM all 1.06 0.00 3.72 0.00 0.00 95.21
09:09:53 AM all 1.57 0.00 2.09 0.00 0.00 96.34
09:09:54 AM all 2.14 0.00 5.35 0.00 0.00 92.51
Average: all 1.59 0.00 3.71 0.00 0.00 94.70
[root@k8s-master ~]# ls -la sarfile.log
-rw-r--r-- 1 root root 92096 May 11 09:09 sarfile.log注:
上述示例命令会将sar -u 1 3采集到的数据以二进制的格式存放到文件sarfile.log中
相关文章:

linux性能监控之sar
1.sar命令介绍 sar是一个非常全面的分析工具,可以对文件的读写,系统调用的使用情况,磁盘IO,CPU相关使用情况,内存使用情况,进程活动等都可以进行有效的分析。 sar工具将对系统当前的状态进行取样&am…...

react框架对Excel文件进行上传和导出
1.首先需要安装xlsx第三方的库库 引入插件 npm install xlsx在react引入 import * as XLSX from xlsx;1,首先设置jsx部分的 以下代码包含有导入excel文件和导出excel文件,读着可以根据需要,自己选择想要实现的功能 代码如下࿰…...

【前端】-【前端文件操作与文件上传】-【前端接受后端传输文件指南】
目录 前端文件操作与文件上传前端接受后端传输文件指南 前端文件操作与文件上传 一、前端文件上传有两种思路: 二进制blob传输:典型案例是formData传输,相当于用formData搭载二进制的blob传给后端base64传输:转为base64传输&…...

【IC前端虚拟项目】验证环境env与base_teat思路与编写
【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 上一篇里解决了最难搞的axi_ram_model,接下来呢就会简单又常规一些了,比如这一篇要说的env和base_test的搭建。在这里我用了gen_uvm_tb脚本: 【前端验证】验证自动化脚本的最后一块拼图补全——gen_t…...

使用Remix部署智能合约到币安链(Remix的操作介绍 币安链合约的部署) 点赞收藏哦
大家好,我是程序员大猩猩呀。 据我所知,很多人进入币圈之后,想要通过炒币一夜暴富!另一部分人呢他们希望自己能创建一个项目,然后发行自己的数字货币然后暴富。 不管是什么方式吧,只要不违法,…...

为什么Redis6.0引入了多线程
Redis 6.0引入了多线程,主要原因有以下几点: 提高网络I/O的吞吐量:多线程可以更有效地处理大量的并发连接和请求,特别是在多核心服务器上。通过使用多线程来处理读写网络套接字,Redis能够更充分地利用系统资源&#x…...

速盾:高防ip和高防cdn有什么相同点?
高防IP(Dedicated IP)和高防CDN(Content Delivery Network)都是用来保护网站免受各种网络攻击的技术手段,它们在一定程度上具有相同的作用和效果。下面将详细介绍它们的相同点。 首先,高防IP和高防CDN都能…...

设计模式之拦截过滤器模式
想象一下,在你的Java应用里,每个请求就像一场冒险旅程,途中需要经过层层安检和特殊处理。这时候,拦截过滤器模式就化身为你最可靠的特工团队,悄无声息地为每一个请求保驾护航,确保它们安全、高效地到达目的…...

【联通支付注册/登录安全分析报告】
联通支付注册/登录安全分析报告 前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨…...

c++ - 在循环中使用迭代器删除 unordered_set 中的元素
标签 c unordered-set 请考虑以下代码: Class MyClass 为自定义类:class MyClass { public:MyClass(int v) : Val(v) {}int Val; };然后下面的代码将在调用 it T.erase(it); 之后在循环中导致 Debug Assertion Failed: unordered_set<MyClass*> T; unordered_set<…...

深入了解哈希映射(HashMap)
一、哈希映射(HashMap)简介 在计算机科学中,哈希映射(HashMap)是一种基于键值对(Key-Value pair)存储数据的数据结构,它提供了高效的数据查找、插入和删除操作。哈希映射的核心思想…...

Public Key Retrieval is not allowed
Public Key Retrieval is not allowed 最近使用 JDBC 连接 MySQL 频繁出现如下报错: java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowe 这段代码是一个 Java 异常错误信息,其中包含了以下关键信息: 错误类…...

iphone进入恢复模式怎么退出?分享2种退出办法!
iPhone手机莫名其妙的进入到了恢复模式,或者是某些原因需要手机进入恢复模式,但是之后我们不知道如何退出恢复模式怎么办? 通常iPhone进入恢复模式的常见原因主要是软件问题、系统升级失败、误操作问题等导致。那iphone进入恢复模式怎么退出&…...

Leetcode 107:二叉树的层次遍历II
给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)。 思路:翻转title102的结果即可。 //层次遍历二叉树public static List<List<Integ…...

LNMP一键安装包
LNMP一键安装包是什么? LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Alibaba/Amazon/Mint/Oracle/Rocky/Alma/Kali/UOS/银河麒麟/openEuler/Anolis OS Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQ…...

[机器学习-05] Scikit-Learn机器学习工具包进阶指南:协方差估计和交叉分解功能实战【2024最新】
🎩 欢迎来到技术探索的奇幻世界👨💻 📜 个人主页:一伦明悦-CSDN博客 ✍🏻 作者简介: C软件开发、Python机器学习爱好者 🗣️ 互动与支持:💬评论 &…...

多线程的情况下 AopContext.currentProxy()切面代理失效问题
多线程的情况下 AopContext.currentProxy()切面代理失效问题 在多线程环境下,AopContext.currentProxy() 可能会遇到问题,特别是在某些情况下,它无法正确地获取到当前线程的代理对象。这通常发生在以下几种情况: 线程不是由Spri…...

https://是怎么实现的?
默认的网站建设好后都是http访问模式,这种模式对于纯内容类型的网站来说,没有什么问题,但如果受到中间网络劫持会让网站轻易的跳转钓鱼网站,为避免这种情况下发生,所以传统的网站改为https协议,这种协议自己…...

Linux无root配置Node,安装nvm
1. 安装NVM: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash # 或者,如果你使用wget wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash 对于bash用户,可以运行&…...

蛋糕店做配送小程序的作用是什么
蛋糕烘焙除了生日需要,对喜吃之人来说往往复购率较高,除线下实体店经营外,更多的商家选择线上多种方式获客转化、持续提高生意营收,而除了进驻第三方平台外,构建品牌私域自营店铺也同样重要。 运用【雨科】平台搭建蛋…...

重写muduo之TcpServer
目录 1、Callbacks.h 2、TcpServer.h 3、TcpServer.cc 1、Callbacks.h 回调操作 #pragma once#include <memory> #include <functional>class Buffer; class TcpConnection;using TcpConnectionPtrstd::shared_ptr<TcpConnection>; using ConnectionCall…...

腾讯云服务器之ssh远程连接登录及转发映射端口实现内网穿透(实现服务器访问本地电脑端口)
目录 一、创建密钥绑定实例二、设置私钥权限三、ssh远程连接到服务器四、修改root密码五、端口转发(实现服务器访问本地电脑的端口) 一、创建密钥绑定实例 创建密钥会自动下载一个私钥,把这个私钥复制到c盘 二、设置私钥权限 1、删除所有用户…...

oracle 9i 行头带有scn的表
oracle 9i 行头带有scn的表 conn scott/tiger drop table t1; drop table t2; create table t1(c varchar2(5)); create table t2(c varchar2(6)) ROWDEPENDENCIES; --t2表每行都有scn,会增加六个字节的开销 alter table t1 pctfree 0; alter table t2 pctfree 0; insert in…...

MySql#MySql安装和配置
目录 一、卸载不需要的环境 二、安装mysql yum 源 三、开始安装 四、如果保证安装成功呢? 五、MySql 启动! 六、登录mysql 七、配置文件说明 八、设置开机启动! 本次安装是在Linux环境在centos7中完成 首先先将自己切换成root 一、…...

WEB前端复习——HTML
固定格式:开头<!DOCTYPE html> <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>标…...

Java医院绩效管理应用系统源码java+ maven+ avue 公立医院绩效考核管理系统源码 支持二开
Java医院绩效管理应用系统源码java maven avue 公立医院绩效考核管理系统源码 支持二开 医院绩效管理系统解决方案紧扣新医改形势下医院绩效管理的要求,以“工作量为基础的考核方案”为核心思想,结合患者满意度、服务质量、技术难度、工作效率、医德医风…...

湖南知识付费系统开发公司,教育机构如何提高转化率?有哪些途径?
教育行业必须线上线下一起抓。当下教育机构不得不考虑线上招生、线上教学和服务。但是大多数人:没思路、没人才,不知道如何下手?其实线上运营也没那么难,“危机”即“机遇”。教育机构如何提高转化率?有哪些途径? 一、…...

Goland GC
Goland GC 引用Go 1.3 mark and sweep 标记法Go 1.5 三色标记法屏障机制插入屏障删除写屏障总结 Go 1.8 混合写屏障(hybrid write barrier)机制总结 引用 https://zhuanlan.zhihu.com/p/675127867 Garbage Collection,缩写为GC,一种内存管理回收的机制…...

【SRC实战】合成类小游戏外挂漏洞
挖个洞先 https://mp.weixin.qq.com/s/ZnaRn222xJU0MQxWoRaiJg “以下漏洞均为实验靶场,如有雷同,纯属巧合” 合成类小游戏三个特点: 1、一关比一关难,可以参考“羊了个羊” 2、无限关卡无限奖励,可以参考“消灭星星…...

【牛客】SQL206 获取每个部门中当前员工薪水最高的相关信息
1、描述 有一个员工表dept_emp简况如下: 有一个薪水表salaries简况如下: 获取每个部门中当前员工薪水最高的相关信息,给出dept_no, emp_no以及其对应的salary,按照部门编号dept_no升序排列,以上例子输出如下: 2、题目…...