线程安全问题-German Shepherd Wallpaper Custom Dogs New Tab-易语言-Sketch-易语言-Google Anime Startpage-Reddit PGN viewer.-gpeditmsc-S3命令行工具:s3cmd与s5cmd的实用指南-InstantView for YouTube™-gpeditmsc-云服务器-matomo 3.13.3安装教程-Video Speed Controller-gpeditmsc-Oof!-gpeditmsc-LoL Stream Browser-WordPress删除在类中添加的action或filter钩子-gpeditmsc-Launch-gpeditmsc-Jelly Party-gpeditmsc-RockyLinux9安装后无法远程ssh密码登录解决-Hobba Flash Enabler-gpeditmsc-gpeditmsc-云收藏-Millennials to Snake People-gpeditmsc-gpeditmsc-gpeditmsc-SVN和Git的真相与误解-进不去-MixrElixr-gpeditmsc-ZeratoR-gpeditmsc-Sonic PopCat-8.5.38-gpeditmsc-填写-Wonder Woman Wallpaper NewTab - freeaddon.com-Micro Focus iPrint-gpeditmsc-Sci Fi Racer Game-gpeditmsc-AntiRickRoll-谷歌翻译-gpeditmsc-Fidget Spinner-gpeditmsc-Snipping Tool For Chromebook-Mybatis缓存详解-gpeditmsc-investdigital-Zombie Mayhem Offline Game-绿联 安装PostgreSQL数据库-gpeditmsc-Glance Back-gpeditmsc-SSL 证书生成-Explore nearby places for Airbnb-gpeditmsc-POPCAT HACK-gpeditmsc-Spark-Virtual Tour for Google Street View™-7.4.33-gpeditmsc-SimAquarium Extension-gpeditmsc-Tiktak Games-gpeditmsc-Nook-gpeditmsc-日常运维-Extreme Motorbike Driving Game-Coze-gpeditmsc-奉上-Fun Race 3D Game New Tab-容器间通信的三种方式 - 每天5分钟玩转 Docker 容器技术(35)-ajaxfileupload.js-gpeditmsc-useragent-GBChess Extension-docker容器之间通信方式-gpeditmsc-Redis 集群-聊聊页面滚动条在vue和H5项目里修改滚动条样式的应用-DataEase V2 嵌入式场景介绍-YAS by Queer Eye-gpeditmsc-fcgi-Permanent Progress Bar for YouTube-基于jquery实现图片广告轮换效果代码-gpeditmsc-Last.fm-Vue开发每日一学:Vue返回值动态生成表单及提交数据的办法-2024 最新最全 VS Code 插件推荐!-jquery实现通用版鼠标经过淡入淡出效果-gpeditmsc-什么是MongoDB-Video Downloader Plus-TypeScript 变量基本类型-gpeditmsc-Attack On Titan Wallpaper HD New Tab-gpeditmsc-如何从 Windows 11 禁用或卸载 Phone Link 手机连接应用-CPS手速测试 - 鼠标点击速度测试-gpeditmsc-谷歌浏览器的Rubiks Cube-gpeditmsc-CentOS7更改时区-[FNAF] Five Nights at Freddy's Games-gpeditmsc-Emotes Everywhere-一名脚本工具开发者的自我修养-用volume container共享数据-每天5分钟玩转Docker容器技术(42)-gpeditmsc-Cute Animal Tab - New Tab Theme-【V3】JumpServer sftp 默认目录的设置方式-gpeditmsc-Spring Boot 入门之持久层篇(三)-2048 Multiplayer (beta)-gpeditmsc-纸牌蜘蛛,克朗代克,蝎子。 3 合 1。-gpeditmsc-Polar Tab-gpeditmsc-惊人-McLaren Cars Wallpaper NewTab - freeaddon.com-gpeditmsc-Prime Video Speeder: adjust playback speed-gpeditmsc-AI创作-它不-艦娘直連 Kancolle Direct Link-gpeditmsc-初创-投射-Cursor Motion Blur-gpeditmsc-Github-Grammer Ungooder-gpeditmsc-Hype Cashback-视频免费播-gpeditmsc-jQuery中text() val()和html()的区别实例详解-VimeoCast BETA - Chromecast™ for Vimeo-log4net-gpeditmsc-midsearch-Pixel Combat 2 unblocked game-linux-gpeditmsc-红豆-gpeditmsc-速记——MySQL基础语法-Selenium ChromeDriver 设置代理 和 设置认证代理-Real Car Parking 3D Game-盘上-如何在 CentOS 8 上安装和配置 Postfix 邮件服务器-gpeditmsc-Air Hockey Game New Tab-gpeditmsc-经验分享-白嫖帮-程序代码-유데미 한글 자막-gpeditmsc-Cursorland - Chrome 的自定义光标-gpeditmsc-PostgreSQL-Best Casino Slots Flare-gpeditmsc-Dream Head Soccer Game-gpeditmsc-GIF Dance Party Extension-gpeditmsc-关于Centos下Clamv反病毒软件包更新问题-LOST ARK 구글 자동 로그인 (NO 시크릿)-jQuery 计算iframe 窗口大小的方法-gpeditmsc-vvvvid.it adv remover-gpeditmsc-Snake game-gpeditmsc-Скачать музыку-gpeditmsc-2023西湖论剑·数字安全大会有感-Tetris Cube Game New Tab-gpeditmsc-logstash对接kafka (待完善)-Paint on Tab Tool - 在任何网页上绘图-gpeditmsc-lens-Flappybird Game New Tab-python脚本处理伪静态注入-gpeditmsc-EliteTorrent | Series y Peliculas Torrent-gpeditmsc-Tetrys.-gpeditmsc-Sound Booster 2021 - 音量控制器-gpeditmsc-cve-2024-38856-Tabby Cat 新标签页-gpeditmsc-超大文件一秒互传-Java实现RS485串口通信-Cookie Clikr-gpeditmsc-层面-马斯克 Grok-2-Cinema HD for PC [Windows 10/8/8.1 & Mac]-gpeditmsc-Youtube-shorts block-gpeditmsc-Refined Prime Video-atoi-gpeditmsc-BattleTabs-gpeditmsc-Get Styles-C++ Web Framework Oat++ Component-Halcon 消息队列-BlockerX - Porn Blocker for Chrome-gpeditmsc-cast player-gpeditmsc-OpenTabs - The New Tab that Saves Trees-gpeditmsc-K8S 生态周报| Helm 新版本发布增强对 OCI 的支持-【Linux 系列】Ubuntu 20.04.2 LTS Server 版本设置静态 IP 地址-Vagalume-gpeditmsc-skribbl.io Bot-gpeditmsc-Doodle Jump original-Visual Studio 安装 Halcon Variable Inspect 插件可视化调试 Halcon 代码-字体大小-颜色选择 X- Spring Boot3.3 -Vue PWA开发:将应用转换为渐进式Web应用-gpeditmsc-Basketball Legends Unblocked Game-gpeditmsc-Trim: IMDB Ratings on Netflix-gpeditmsc-Basketball Legends Unblocked-软件教程-gpeditmsc-Language Reactor 语言学习助手-gpeditmsc-Geometry Dash Game New Tab-gpeditmsc-经验分享-Shimeji Editor-gpeditmsc-群英-Bookmark Plus New Tab-gpeditmsc-Spring Boot 入门之缓存和 NoSQL 篇(四)-NewsBytes-gpeditmsc-相邻面同步修改-gpeditmsc-Free Video Downloader-个人云盘-imgur Community Extension-gpeditmsc-tekton-springSession-Ayima Page Insights-gpeditmsc-IOTA ticker-Kali Linux渗透测试五步曲-Knife Hit on Chrome-gpeditmsc-Web TikTok-gpeditmsc-Global Warming-gpeditmsc-Backpack-gpeditmsc-gpeditmsc-在 Spring Boot 应用中设置默认时区(Timezone)-内容创作社区平台-Awesome Custom Cursor-Slope Unblocked-gpeditmsc-Tiktok Stacking Blocks Challenge Game-gpeditmsc-易语言-Madalin Cars Multiplayer Online Game-易语言-日常运维-CPS Test-TrollStore 巨魔商店2下载安装教程,无需越狱,IPA永久签名-如何在MAC上SSH和FTP-Royal TXS-易语言-Windows工具-让你的Windows锦上添花,添了又添-易语言-Travel extension-Sniper Gun Shooting Game-易语言-hexo-blog-encrypt-Magoosh Vocabulary-易语言-PlayTo for Chromecast™-易语言-【高危】fastcdn用户数据库表存在明文,修改用户数据无鉴权限制即可增删改-Roblox Themes-易语言-kubesphere-4.阿里云ECS 做一个快照,删除/code/kod/ 测试使用快照恢复业务-易语言-Онлайн радио-C# WPF 的多国语言处理-No limits of Speed-vue应用:vue2中seo时使用vue-meta-info的方法-易语言-Doodle Jump Ninja-易语言-systemctl管理脚本以及进程锁-Tetrium-【安装部署】DataEase Mac 电脑本地运行 Kettle 和 Doris 报错:Mounts denied-易语言-将一维数组按指定长度转为二维数组-日常运维-OmiseGO Hoje-易语言-语雀富文本写作自动部署到 Hexo-MySQL事务隔离级别深入理解-易语言-易语言-Make Money-宝塔反向代理+ssl(https)+重定向www-TheWeatherOutlook (TWO)-[小白向教程] 国内用户如何注册使用Telegram电报-gpeditmsc-BTS BT21 Cursors-Artist V1.0 Alpha模型-gpeditmsc-Qtum Hoje-外观-JavaScript 寄生组合式继承法-gpeditmsc-Tetrys-gpeditmsc-Laser Cat-谷歌-Ubuntu 22.04下载脚本出现SSL错误0A000126的解决办法-gpeditmsc-Глаз.ТВ - смотри ТВ онлайн-gpeditmsc-Among Us Online-查看器-gpeditmsc-Fashion Trend-gpeditmsc-EOS Hoje-gpeditmsc-MediaPlus-Boxel Rebound 疯狂的跳箱-.Net Core 6 API使用客户端凭据进行身份验证-gpeditmsc-Google Meet Classic Impersonator-gpeditmsc-天空地图-zabbix_server-Spring AI 拥抱 OpenAI 的结构化输出:增强 JSON 响应的可靠性-gpeditmsc-Destiny Item Manager Shortcut-Win10快捷方式怎么添加到开机自启动-[小白向教程] 国内用户如何注册使用Telegram电报-gpeditmsc-SmoothScroll-gpeditmsc-Video Downloader Ultimate-gpeditmsc-开发笔记-Pacman Popup-联想笔记本win11改win10系统详细步骤教程-C#B站BV号转AV号小工具及原理-jqueryeasyui-C#B站BV号转AV号小工具及原理-gpeditmsc-Sweezy Cursors - Chrome 的自定义光标-Android Studio 2022.3.1(Mac Intel)无法创建Flutter项目。-解决-gpeditmsc-网络运营-Custom Progress Bar for YouTube™-Google具有新功能和隐私增强功能的Android 11-gpeditmsc-HexTab-panel-gpeditmsc-C#B站BV号转AV号小工具及原理-紧急情况!镜像库全面失效,一招解决Docker无法下载-LiveVidRanker-gpeditmsc-sonoma-Kubernetes 部署的可视化地图-京东大规模容器集群之 kubernetes 实践-Global Twitch Emotes-gpeditmsc-MyPlayCity Games-易语言-网易云 cookie 设置-Blink New Tab-易语言-gpeditmsc-Flappy Bird Offline. Desktop Version-Hexo-易语言-侵入-Pacman - a pack of 3 pacman heritage games-易语言-开源工具-【Web 系列】SpringBoot 防护 XSS 攻击配置-Show-English.com extension-将CozeApi转换为OpenAi的Api使用-十张-Confetti! Confetti all over... What else?-gpeditmsc-Teleparty:与好友一起远程看电视-gpeditmsc-币知识-Language Learning with Youtube BETA-gpeditmsc-nas-vksaver - music saver vk-gpeditmsc-jQuery实现的Email中的收件人效果(按del键删除)-gpeditmsc-Cloud To Butt Plus-模型压缩-gpeditmsc-Pacman Game Offline for Google Chrome-RabbitMQ-2048 Puzzle Game Offline-gpeditmsc-alibaba-gpeditmsc-Dino - The Dinosaur Game-libcue-AUTO LIKE & CMT POST IN TIMELINE-gpeditmsc-Is It Fake News?-如何在vim中批量注释和取消注释-gpeditmsc-graphviz.please-Flash RSS Feed-组件-gpeditmsc-宝塔面板-Interesting facts-aone-ysoserial-微博图床-悬浮画中画播放器-gpeditmsc-gpeditmsc-Change My Cursor-gpeditmsc-Hamatata.com Helper-【Linux 系列】Centos7 安装并配置多网口-宝塔配置顶级域名跳转www二级域名-jQuery判断当前点击的是第几个li的代码-gpeditmsc-Love Start Tabs-60集-日常运维-VLC 4 YouTube (beta)-gpeditmsc-Vex 6 Unblocked Game-gpeditmsc-gpeditmsc-Play to Kodi-gpeditmsc-FastSave & Repost for Instagram-jQuery 联动日历实现代码-Gaana Search-IDM for pc-gpeditmsc-Surf-gpeditmsc-Hiddengram - view insta stories anonymously-Android知识 - 主题属性介绍-【C++学习】程序流程结构-如何在VS中清空cin缓冲区(C++)-gpeditmsc-One Piece Cursor-gpeditmsc-地球3D 地图-gpeditmsc-Soundcloud Download-Centos7.9配置LAMP环境-限制-使Windows系统时间显示秒钟-快递安全吗-gpeditmsc-CCTV View-gpeditmsc-YouTube Popout Player-开源工具-Lyrics Fetcher-gpeditmsc-gpeditmsc-Edit Anything-artalk-gpeditmsc-South African Newspapers Online-DataEase V2 嵌入式场景介绍-十款-gpeditmsc-Weather Tab-事件源模式和传统数据库方法在数据管理上的优劣分析-Emoji Keyboard- copy&past your emoji.-gpeditmsc-gpeditmsc-Pixel Combat 2 Game-gpeditmsc-Basketball Stars Game New Tab-浅谈windows下的白文件利用-gpeditmsc-Drift Hunters Unblocked Game-alibaba-gpeditmsc-虚拟宠物-gpeditmsc-jquery-Squeezie-IOS笔记-写出来-gpeditmsc-Volume Controller-JavaScript - 正则表达式-gpeditmsc-人工智能-Dragon Ball Super & DBZ Wallpapers HD NewTab-gpeditmsc-c++类-Drift Hunters Unblocked-gpeditmsc-NEM Hoje-经验分享-gpeditmsc-下载Bilibili视频-关于垃圾收集器你了解多少?一文总结七大垃圾收集器-gpeditmsc-Flappy Bird 2-gpeditmsc-日常运维-Custom Cursor Changer for Chrome-gpeditmsc-七日杀(7 Days To Die)服务器搭建教程,七日杀开服教程-My Quotes New Tab-网速慢-gpeditmsc-Space Canyon-gpeditmsc-Ultimate Car Driving Game-Family Time-gpeditmsc-gpeditmsc-Vemos-gpeditmsc-Gacha Life-题库-2022版-Hexo常用命令-gpeditmsc-FoE - Helper-startx命令 – 初始化X-window系统-Spring Security OAuth 2 教程 - 2:授权码模式-gpeditmsc-映像-Arcade Classics-gpeditmsc-Google 艺术与文化-Python 中如何获取输入?-scram-sha-256-JavaScript - DOM&BOM-gpeditmsc-Xbox New Tab-gpeditmsc-繪畫工具和屏幕截圖-Mais Barato PROTESTE-gpeditmsc-Netflix™ Extended-主要因素-gpeditmsc-Russian Aviation Insider-包含所有 HTTP 状态码的 Java 枚举-给 Parsec 设置代理,解决国内无法打开、无法登录、无法刷新的问题-gpeditmsc-Free Fire PC【Download Updated Version】-gpeditmsc-Webtor.io - Watch torrents online-FOFA Pro View-gpeditmsc-Clear New Tab-图片放大镜jquery.jqzoom.js使用实例附放大镜图标-gpeditmsc-Chrome™酷光标-gpeditmsc-Tic Tac Toe-gpeditmsc-来龙去脉-Solitaire Collection with Rules (320 Games)-易语言-首批-libdoge-日常运维-IDM for pc-易语言-Batman Wallpapers HD Custom DC Comics New Tab-Listen On Repeat YouTube Looper-易语言-易语言-MonkiBu TV y Radios Online-易语言-Extreme Traffic Racer Game 3D-kubelet-开源工具-易语言-3个 优秀Linux 网络监视器!-Dice Thrower-开发笔记-易语言-PUBG Craft Battlegrounds - Shooting Game-七成-易语言-Kahoot Keys-CDN 选择与推荐-易语言-gpeditmsc-РуТрекер - официальный плагин (доступ и пр.)-lamp+discuz+mysql-proxy-Easy Recipes App-录到-gpeditmsc-如何在源码包编译安装的 LEMP 环境下开启 OpenSSL 功能-White Rabbit-免费试用-ArcoLinux 发布 6.9.1 版-gpeditmsc-适用于 Google Chrome™ 的网络摄像头-gpeditmsc-新浪某站CRLF Injection导致的安全问题-Original Squid Game Offline-gpeditmsc-New Tab Theme Buddy-自动化部署基于 Docker 的 Rails 应用-gpeditmsc-ReddCoin Hoje-为什么我在使用pip时一直收到这些错误,该如何解决?-gpeditmsc-声音均衡器-网站监控组件blackbox_exporter-两种方法基于jQuery实现IE浏览器兼容placeholder效果-gpeditmsc-Keyboard & Mouse for Xbox xCloud-JT_curl - 一个PHP cURL封装方法-boss-Feedly Add-gpeditmsc-gpeditmsc-ScoutCub-jquery radio的取值_radio的选中_radio的重置方法-C# SQLite通用读写操作方法-gpeditmsc-Vex 4 Unblocked game-gpeditmsc-科普-Games 247-SwissFS Forex Ticker-gpeditmsc-jquery图片播放浏览插件prettyPhoto使用详解-Window Expander For YouTube-gpeditmsc-Visual Effects for Google Meet 视觉效果增强-MySQL忘记root密码解决办法-gpeditmsc-两种方式创建你自己的 Docker 基本映像-gpeditmsc-网盘-镜像命名的最佳实践 - 每天5分钟玩转 Docker 容器技术(18)-SeasonVar-用jquery实现的一个超级简单的下拉菜单-gpeditmsc-LinDuo: Английски БЕСПЛАТНО-回顾和汇总刚学JS的一些取整的方法-NeoDB-Waves Hoje-开源工具-gpeditmsc-windows-基于jQuery的淡入淡出可自动切换的幻灯插件-数据结构与算法-CrackWatch-白嫖帮-gpeditmsc-量身-jquery-网络安全-gpeditmsc-ETF申请-Daily Motivation - Motivational Quotes-Stable Diffusion-gpeditmsc-vim-Head Soccer 2022 Sports Game-Mysql-gpeditmsc-YouTube 播放器的皮肤-数据库-微服务中常见的 9种设计模式!如何选择?-gpeditmsc-homebrew-linuxer-Mi Emoji-jquery跟js初始化加载的多种方法及区别介绍-MongoDB 简介-gpeditmsc-Colorful Rubik's Cube-gpeditmsc-Nature NewTab Extension-千呼万唤-gpeditmsc-Return YouTube Dislike-gpeditmsc-HTML5 Flash Warning Fix for YouTube™-gpeditmsc-DejaVu-满分-gpeditmsc-ezpp!-gpeditmsc-Online Weather-cookie相关操作-gpeditmsc-一封-Windows + Ubuntu22.04 双系统安装-Javascript中日期对象-cats.-分享Javascript里12种遍历数据的方法-gpeditmsc-Rugby Start-gpeditmsc-数据库备份-人工智能-CentOS 和 Ubuntu 建 GRE Tunnel-Android Emulator Online-gpeditmsc-Search to Play the Song-gpeditmsc-Custom Cursors:自定义光标-gpeditmsc-Windows 10/11 设置 IPv4/IPv6 访问优先级-Interesting Facts-gpeditmsc-Jquery AJAX POST与GET之间的区别-Linux磁盘配额-如何为 Linux 系统中的 SSH 添加双重认证-IMDb Ratings for Netflix™-gpeditmsc-一个基于Go语言实现的组团学习网站,代码已开源-JumpServer 命令过滤功能-分享20款好玩的jQuery游戏-Super Netflix-gpeditmsc-动手实践 Linux VLAN - 每天5分钟玩转 OpenStack(13)-MongoDB常用命令-recover-Slope unblocked-gpeditmsc-MongoDB 连接-nginx配置中alias和root区别-Rescroller-gpeditmsc-PyQt-JQuery动画animate的stop方法使用详解-遊戲橘子擴充元件-gpeditmsc-tomcat-宝塔面板-Video Downloader Pro-gpeditmsc-.net-gpeditmsc-zabbix6.0-Solitaire Social Flash Allow-jQuery实现动画效果的实例代码-gpeditmsc-mongo-cn2-Popular Personalities-DataEase-gpeditmsc-Foxtrick-Python基础 – for循环-gpeditmsc-Boxel 3D-日常运维-javascript中短路语法初探-gpeditmsc-软件渗透-Радио-top-nginx-gpeditmsc-Retro Arcade Classic Games-nodejs-Coronavirus Cases-gpeditmsc-Docker安装kvm-web管理工具-intellij idea-gpeditmsc-FrankerFaceZ:Twitch 表情-Zabbix启动时提示libpcre.so.1: cannot open shared object file处理办法-nginx 代理到 阿里云oss-large-vps-gpeditmsc-Web Paint-软件使用-人工智能-对Java反序列化数据绕WAF新姿势的补充-gpeditmsc-YouTube Livestreams Theater Mode-如何写-gpeditmsc-Netflix 1080p-gpeditmsc-Naruto Shippuden Wallpaper HD New Tab-gpeditmsc-2048 Game-gpeditmsc-Daily Bible Page-分之-gpeditmsc-Netflix Hidden Categories-Windows的10个最佳iOS模拟器推荐-gpeditmsc-Lil Rooster Money Clicker - Idle Game-两小时-Java处理16进制字符串方法记录-gpeditmsc-1v1 LOL Unblocked-迁移hexo啦-Linux 容器将颠覆虚拟化,为什么?-Temple Run Game-gpeditmsc-jQuery当鼠标悬停时放大图片的效果实例-2.7.7-gpeditmsc-HDS / HLS Video Downloader-猜-SafeBrowser-gpeditmsc-ShadowPay Trademanager-经验分享-用AI制作“经典人生语录+拟人动物”创意视频,是一个新的副业好项目-Bee Hive-3在阿里云的ECS 部署kod业务 (可道云)-JQuery自定义事件的应用 JQuery最佳实践-魔术-MeterSphere 升级到 V2 版本后 MySQL 数据库字符集修改说明-Docker构建Tomcat(Web服务器)-总有-Basketball Legends-什么?CSS还自带变量功能?-zipperdown-魔术-視頻速度控制器-Fluid -21- 自定义 CSS 样式-魔术-New Tab Direct - Abstract-Unity 编辑器现已正式面向 Linux 推出-魔术-贴纸疯狂-Linux搭建ELK-7.5.1分布式集群及配置X-Pack-经验分享-魔术-怎么在windows系统上创建名称为空的文件、文件夹?及实现物理意义上的隐藏-FlickCall-Netflix Youtube Party w/ Video Call-Windows10出现大容量存储设备禁用情况-魔术-Annotations Restored for YouTube™-Jenkins配置邮件通知-魔术-Uno Card Game with AI-【修复】ChatGPT商业版源码带支付功能+绘画+对话+免授权不反弹-魔术-Geometry Dash Strategy Game - HTML5 Game-JumpServer-范-魔术-Roblox Empty Servers-JavaScript:冒泡排序-nginx防止DDOS攻击配置-魔术-All Netflix Categories-操作系统-Jenkins获取当前job执行的用户名-魔术-Temperature Worldwide-前端SVG开发插件:8个用于SVG动画的JavaScript库-魔术-Ban Checker for Steam-CSS3-jquery.fileEveryWhere.js 一个跨浏览器的file显示插件-魔术-Clock for RF Nerds-python3学习笔记--pairwise-Android笔记-魔术-GamePoint Flash Enabler-windows-魔术-1v1 LOL Unblocked-算法思维训练(六)| 队列?-linux-魔术-Magic Actions for YouTube™-网络安全-JavaScript笔记-Ubuntu怎么设置root密码(乌班图)-魔术-Halo 1.4.10 发布-Tetrys-魔术-Vimbox Субтитры от Skyeng-chatgpt-Python - 读取大图片-jenkins-魔术-The FFZ Add-On Pack-10s!无限制!一款AI视频制作的王者级工具!附教程-魔术-Typecho实现百度自动提交以及熊掌号自动提交AMP/MIP接口插件-Among Us Custom Cursor-魔术-AniDUB Proxy-JS内置对象TypeError(类型错误):用来表示值的类型非预期类型时发生的错误-魔术-Snake-日常运维-jquery实现鼠标滑过显示二级下拉菜单效果-财-魔术-Paint - Screenshot-魔术-Open in VLC™ media player-但能-魔术-VLC Capture-使用 utmpdump 监控 CentOS 用户登录历史-魔术-VUE开发:vue-cli中实现响应式布局-Personalized Weather-魔术-谷歌adsense:隆重推出全新的合作规范中心-Never Ending Netflix-魔术-Recordify Title Discover-vuepress自定义vue组件-魔术-2048 Game-魔术-Currency calculator-魔术-CNN Video-魔术-Nyan Cat Progress Bar for YouTube™-魔术-The Meme Board-pip.conf-魔术-TwoSided-Vue 3中的Teleport和Suspense组件使用详解-RockyLinux8升级RockyLinux9版本-魔术-故障注入-HackerNews Tweaks-魔术-Economy News Go-卡尔-Bass Boost: HD Audio-魔术-扫码登录-【Docker】搭建开源轻量的评论系统 - Artalk-魔术-Retro Bowl Game-垄断-使用 Python 和 Prometheus 跟踪天气-pp calculator-魔术-js日期、经纬度格式化-41-魔术-增强器 - 增加音量-formValidator3.3的ajaxValidator一些异常分析-宝塔面板使用记录分享-魔术-Enhancer for Netflix, Crunchyroll, etc-魔术-Onion's Revenge-【kubernetes篇】如何精确控制滚动更新-如何使用Spring Boot + SQLite3 + mybatis插件-魔术-Go 测试 K8S 组件指南与对比,详细版!-魔术-前端开发-Tab for a Cause-rocketmq-dashboard-云锁对centos7/8内核实际支持情况-魔术-Json Web Token-开发笔记-Vex 5 Unblocked Game-魔术-MySQL lower_case_table_names参数介绍-Docker笔记-Orbital Daggers-魔术-Web Paint-ubuntu-魔术-Pandora Player-kubesphere-魔术-Finitimus-Slope Unblocked Game-魔术-server2000-Video Downloader Button-魔术-算法-DriveCast-魔术-Лучшие онлайн радио - The Radio-魔术-Universal Video Downloader-魔术-2048-JS-API-cve-2014-7911-魔术-【每月一荐】推荐5个好用的Chrome插件,再也不用担心看不懂外文了!还可以下载推特视频!|外文学习、Chrome插件管理-找回-Stable Diffusion绘画 | LightFlow工作流插件:一键导入,高效生图-slf4j+log4j-Tunnel Glider-魔术-Night Mode for Jira-理解cookie、session、localStorage、sessionStorage的关系与区别-IP核接口-日常运维-Popout for YouTube™-魔术-Motivation-魔术-Twitch Live-魔术-Sound Booster-魔术-哔哩哔哩助手-beanname-docker启动时指定环境变量-Promethues如何对进程监控-魔术-包含所有 HTTP 状态码的 Java 枚举-拆解腾讯面试题:拔掉网线后,原来的TCP连接还在不在?-扫雷游戏-魔术-Instapaper Restyled-汇-魔术-Karaoke Online: Sing Songs with Lyrics-logger-魔术-IceCMS:国际范的内容管理系统-Site Blocker-魔术-魔兽争霸-Beauty Backgrounds-魔术-十款最出色的PHP安全开发库中文详细介绍-带你了解 MyBatis 插件设计演化过程-Daxab Ultimate-魔术-Cenafy-浅析JQuery获取和设置Select选项的常用方法总结-魔术-Just Fall lol Game-魔术-springboot中自定义配置-图库-Gold Price from Alloyx-低版本-魔术-vue-router传参-提高jQuery性能优化的技巧-NewsLens-Kafka基于SASL框架PLAIN认证机制配置用户密码认证-3个超好用的AI工具,帮你自动生成文章配图,Tldraw、Napkin、Claude实测-魔术-ElasticSearch-Free Paint Online - Draw on any website-魔术-mysql 安装 docker 版5.7.34-Pulse Feed Reader-魔术-Potion - Video emails to double your sales-Vue3编译优化:减小应用体积和提升加载速度-ChatReplay-魔术-Web TikTok-魔术-Php笔记-att&ck-8、web3.js 执行交易-CPRewritten Flash Enabler-魔术-Typecho评论区增加楼层显示-vuejs-14.0-PPaint Online - Photoshop for Chrome-魔术-Github-Free Robux Generator 2022-再见 Jenkins!一款更适合国人的自动化部署工具来了-魔术-经验分享-web3-Soccer Online Game Football - HTML5 Game-课程设计-魔术-YTM+ for YouTube™ Music-币知识-魔术-网格算法练习-phpstorm自动同步(部署)本地代码到服务端-GamersClub Booster-魔术-cve-2018-0802-Custom Cursor-Man: Hero's Rise - 空闲游戏-魔术-JDK国内镜像加速下载,免登录!-DearCinema.com-魔术-GIF Scrubber-魔术-Popular Personalities-[CVE-2018-2019]DedeCMS V5.7 SP2前台文件上传漏洞-魔术-在PHP中使用CURL实现GET和POST请求的方法-魔术-hansome-魔术-魔术-魔术-枚举-魔术-替代 Spring Boot 的其它5种微服务框架-新视野-魔术-Linux搭建DHCP服务器的详细过程-魔术-魔术-基于uni-app与图鸟UI打造的各领域移动端模板大赏-通过表格批量创建更新 JumpServer 资产授权和用户信息-校验文件-工具盒子" /> 线程安全问题-German Shepherd Wallpaper Custom Dogs New Tab-易语言-Sketch-易语言-Google Anime Startpage-Reddit PGN viewer.-gpeditmsc-S3命令行工具:s3cmd与s5cmd的实用指南-InstantView for YouTube™-gpeditmsc-云服务器-matomo 3.13.3安装教程-Video Speed Controller-gpeditmsc-Oof!-gpeditmsc-LoL Stream Browser-WordPress删除在类中添加的action或filter钩子-gpeditmsc-Launch-gpeditmsc-Jelly Party-gpeditmsc-RockyLinux9安装后无法远程ssh密码登录解决-Hobba Flash Enabler-gpeditmsc-gpeditmsc-云收藏-Millennials to Snake People-gpeditmsc-gpeditmsc-gpeditmsc-SVN和Git的真相与误解-进不去-MixrElixr-gpeditmsc-ZeratoR-gpeditmsc-Sonic PopCat-8.5.38-gpeditmsc-填写-Wonder Woman Wallpaper NewTab - freeaddon.com-Micro Focus iPrint-gpeditmsc-Sci Fi Racer Game-gpeditmsc-AntiRickRoll-谷歌翻译-gpeditmsc-Fidget Spinner-gpeditmsc-Snipping Tool For Chromebook-Mybatis缓存详解-gpeditmsc-investdigital-Zombie Mayhem Offline Game-绿联 安装PostgreSQL数据库-gpeditmsc-Glance Back-gpeditmsc-SSL 证书生成-Explore nearby places for Airbnb-gpeditmsc-POPCAT HACK-gpeditmsc-Spark-Virtual Tour for Google Street View™-7.4.33-gpeditmsc-SimAquarium Extension-gpeditmsc-Tiktak Games-gpeditmsc-Nook-gpeditmsc-日常运维-Extreme Motorbike Driving Game-Coze-gpeditmsc-奉上-Fun Race 3D Game New Tab-容器间通信的三种方式 - 每天5分钟玩转 Docker 容器技术(35)-ajaxfileupload.js-gpeditmsc-useragent-GBChess Extension-docker容器之间通信方式-gpeditmsc-Redis 集群-聊聊页面滚动条在vue和H5项目里修改滚动条样式的应用-DataEase V2 嵌入式场景介绍-YAS by Queer Eye-gpeditmsc-fcgi-Permanent Progress Bar for YouTube-基于jquery实现图片广告轮换效果代码-gpeditmsc-Last.fm-Vue开发每日一学:Vue返回值动态生成表单及提交数据的办法-2024 最新最全 VS Code 插件推荐!-jquery实现通用版鼠标经过淡入淡出效果-gpeditmsc-什么是MongoDB-Video Downloader Plus-TypeScript 变量基本类型-gpeditmsc-Attack On Titan Wallpaper HD New Tab-gpeditmsc-如何从 Windows 11 禁用或卸载 Phone Link 手机连接应用-CPS手速测试 - 鼠标点击速度测试-gpeditmsc-谷歌浏览器的Rubiks Cube-gpeditmsc-CentOS7更改时区-[FNAF] Five Nights at Freddy's Games-gpeditmsc-Emotes Everywhere-一名脚本工具开发者的自我修养-用volume container共享数据-每天5分钟玩转Docker容器技术(42)-gpeditmsc-Cute Animal Tab - New Tab Theme-【V3】JumpServer sftp 默认目录的设置方式-gpeditmsc-Spring Boot 入门之持久层篇(三)-2048 Multiplayer (beta)-gpeditmsc-纸牌蜘蛛,克朗代克,蝎子。 3 合 1。-gpeditmsc-Polar Tab-gpeditmsc-惊人-McLaren Cars Wallpaper NewTab - freeaddon.com-gpeditmsc-Prime Video Speeder: adjust playback speed-gpeditmsc-AI创作-它不-艦娘直連 Kancolle Direct Link-gpeditmsc-初创-投射-Cursor Motion Blur-gpeditmsc-Github-Grammer Ungooder-gpeditmsc-Hype Cashback-视频免费播-gpeditmsc-jQuery中text() val()和html()的区别实例详解-VimeoCast BETA - Chromecast™ for Vimeo-log4net-gpeditmsc-midsearch-Pixel Combat 2 unblocked game-linux-gpeditmsc-红豆-gpeditmsc-速记——MySQL基础语法-Selenium ChromeDriver 设置代理 和 设置认证代理-Real Car Parking 3D Game-盘上-如何在 CentOS 8 上安装和配置 Postfix 邮件服务器-gpeditmsc-Air Hockey Game New Tab-gpeditmsc-经验分享-白嫖帮-程序代码-유데미 한글 자막-gpeditmsc-Cursorland - Chrome 的自定义光标-gpeditmsc-PostgreSQL-Best Casino Slots Flare-gpeditmsc-Dream Head Soccer Game-gpeditmsc-GIF Dance Party Extension-gpeditmsc-关于Centos下Clamv反病毒软件包更新问题-LOST ARK 구글 자동 로그인 (NO 시크릿)-jQuery 计算iframe 窗口大小的方法-gpeditmsc-vvvvid.it adv remover-gpeditmsc-Snake game-gpeditmsc-Скачать музыку-gpeditmsc-2023西湖论剑·数字安全大会有感-Tetris Cube Game New Tab-gpeditmsc-logstash对接kafka (待完善)-Paint on Tab Tool - 在任何网页上绘图-gpeditmsc-lens-Flappybird Game New Tab-python脚本处理伪静态注入-gpeditmsc-EliteTorrent | Series y Peliculas Torrent-gpeditmsc-Tetrys.-gpeditmsc-Sound Booster 2021 - 音量控制器-gpeditmsc-cve-2024-38856-Tabby Cat 新标签页-gpeditmsc-超大文件一秒互传-Java实现RS485串口通信-Cookie Clikr-gpeditmsc-层面-马斯克 Grok-2-Cinema HD for PC [Windows 10/8/8.1 & Mac]-gpeditmsc-Youtube-shorts block-gpeditmsc-Refined Prime Video-atoi-gpeditmsc-BattleTabs-gpeditmsc-Get Styles-C++ Web Framework Oat++ Component-Halcon 消息队列-BlockerX - Porn Blocker for Chrome-gpeditmsc-cast player-gpeditmsc-OpenTabs - The New Tab that Saves Trees-gpeditmsc-K8S 生态周报| Helm 新版本发布增强对 OCI 的支持-【Linux 系列】Ubuntu 20.04.2 LTS Server 版本设置静态 IP 地址-Vagalume-gpeditmsc-skribbl.io Bot-gpeditmsc-Doodle Jump original-Visual Studio 安装 Halcon Variable Inspect 插件可视化调试 Halcon 代码-字体大小-颜色选择 X- Spring Boot3.3 -Vue PWA开发:将应用转换为渐进式Web应用-gpeditmsc-Basketball Legends Unblocked Game-gpeditmsc-Trim: IMDB Ratings on Netflix-gpeditmsc-Basketball Legends Unblocked-软件教程-gpeditmsc-Language Reactor 语言学习助手-gpeditmsc-Geometry Dash Game New Tab-gpeditmsc-经验分享-Shimeji Editor-gpeditmsc-群英-Bookmark Plus New Tab-gpeditmsc-Spring Boot 入门之缓存和 NoSQL 篇(四)-NewsBytes-gpeditmsc-相邻面同步修改-gpeditmsc-Free Video Downloader-个人云盘-imgur Community Extension-gpeditmsc-tekton-springSession-Ayima Page Insights-gpeditmsc-IOTA ticker-Kali Linux渗透测试五步曲-Knife Hit on Chrome-gpeditmsc-Web TikTok-gpeditmsc-Global Warming-gpeditmsc-Backpack-gpeditmsc-gpeditmsc-在 Spring Boot 应用中设置默认时区(Timezone)-内容创作社区平台-Awesome Custom Cursor-Slope Unblocked-gpeditmsc-Tiktok Stacking Blocks Challenge Game-gpeditmsc-易语言-Madalin Cars Multiplayer Online Game-易语言-日常运维-CPS Test-TrollStore 巨魔商店2下载安装教程,无需越狱,IPA永久签名-如何在MAC上SSH和FTP-Royal TXS-易语言-Windows工具-让你的Windows锦上添花,添了又添-易语言-Travel extension-Sniper Gun Shooting Game-易语言-hexo-blog-encrypt-Magoosh Vocabulary-易语言-PlayTo for Chromecast™-易语言-【高危】fastcdn用户数据库表存在明文,修改用户数据无鉴权限制即可增删改-Roblox Themes-易语言-kubesphere-4.阿里云ECS 做一个快照,删除/code/kod/ 测试使用快照恢复业务-易语言-Онлайн радио-C# WPF 的多国语言处理-No limits of Speed-vue应用:vue2中seo时使用vue-meta-info的方法-易语言-Doodle Jump Ninja-易语言-systemctl管理脚本以及进程锁-Tetrium-【安装部署】DataEase Mac 电脑本地运行 Kettle 和 Doris 报错:Mounts denied-易语言-将一维数组按指定长度转为二维数组-日常运维-OmiseGO Hoje-易语言-语雀富文本写作自动部署到 Hexo-MySQL事务隔离级别深入理解-易语言-易语言-Make Money-宝塔反向代理+ssl(https)+重定向www-TheWeatherOutlook (TWO)-[小白向教程] 国内用户如何注册使用Telegram电报-gpeditmsc-BTS BT21 Cursors-Artist V1.0 Alpha模型-gpeditmsc-Qtum Hoje-外观-JavaScript 寄生组合式继承法-gpeditmsc-Tetrys-gpeditmsc-Laser Cat-谷歌-Ubuntu 22.04下载脚本出现SSL错误0A000126的解决办法-gpeditmsc-Глаз.ТВ - смотри ТВ онлайн-gpeditmsc-Among Us Online-查看器-gpeditmsc-Fashion Trend-gpeditmsc-EOS Hoje-gpeditmsc-MediaPlus-Boxel Rebound 疯狂的跳箱-.Net Core 6 API使用客户端凭据进行身份验证-gpeditmsc-Google Meet Classic Impersonator-gpeditmsc-天空地图-zabbix_server-Spring AI 拥抱 OpenAI 的结构化输出:增强 JSON 响应的可靠性-gpeditmsc-Destiny Item Manager Shortcut-Win10快捷方式怎么添加到开机自启动-[小白向教程] 国内用户如何注册使用Telegram电报-gpeditmsc-SmoothScroll-gpeditmsc-Video Downloader Ultimate-gpeditmsc-开发笔记-Pacman Popup-联想笔记本win11改win10系统详细步骤教程-C#B站BV号转AV号小工具及原理-jqueryeasyui-C#B站BV号转AV号小工具及原理-gpeditmsc-Sweezy Cursors - Chrome 的自定义光标-Android Studio 2022.3.1(Mac Intel)无法创建Flutter项目。-解决-gpeditmsc-网络运营-Custom Progress Bar for YouTube™-Google具有新功能和隐私增强功能的Android 11-gpeditmsc-HexTab-panel-gpeditmsc-C#B站BV号转AV号小工具及原理-紧急情况!镜像库全面失效,一招解决Docker无法下载-LiveVidRanker-gpeditmsc-sonoma-Kubernetes 部署的可视化地图-京东大规模容器集群之 kubernetes 实践-Global Twitch Emotes-gpeditmsc-MyPlayCity Games-易语言-网易云 cookie 设置-Blink New Tab-易语言-gpeditmsc-Flappy Bird Offline. Desktop Version-Hexo-易语言-侵入-Pacman - a pack of 3 pacman heritage games-易语言-开源工具-【Web 系列】SpringBoot 防护 XSS 攻击配置-Show-English.com extension-将CozeApi转换为OpenAi的Api使用-十张-Confetti! Confetti all over... What else?-gpeditmsc-Teleparty:与好友一起远程看电视-gpeditmsc-币知识-Language Learning with Youtube BETA-gpeditmsc-nas-vksaver - music saver vk-gpeditmsc-jQuery实现的Email中的收件人效果(按del键删除)-gpeditmsc-Cloud To Butt Plus-模型压缩-gpeditmsc-Pacman Game Offline for Google Chrome-RabbitMQ-2048 Puzzle Game Offline-gpeditmsc-alibaba-gpeditmsc-Dino - The Dinosaur Game-libcue-AUTO LIKE & CMT POST IN TIMELINE-gpeditmsc-Is It Fake News?-如何在vim中批量注释和取消注释-gpeditmsc-graphviz.please-Flash RSS Feed-组件-gpeditmsc-宝塔面板-Interesting facts-aone-ysoserial-微博图床-悬浮画中画播放器-gpeditmsc-gpeditmsc-Change My Cursor-gpeditmsc-Hamatata.com Helper-【Linux 系列】Centos7 安装并配置多网口-宝塔配置顶级域名跳转www二级域名-jQuery判断当前点击的是第几个li的代码-gpeditmsc-Love Start Tabs-60集-日常运维-VLC 4 YouTube (beta)-gpeditmsc-Vex 6 Unblocked Game-gpeditmsc-gpeditmsc-Play to Kodi-gpeditmsc-FastSave & Repost for Instagram-jQuery 联动日历实现代码-Gaana Search-IDM for pc-gpeditmsc-Surf-gpeditmsc-Hiddengram - view insta stories anonymously-Android知识 - 主题属性介绍-【C++学习】程序流程结构-如何在VS中清空cin缓冲区(C++)-gpeditmsc-One Piece Cursor-gpeditmsc-地球3D 地图-gpeditmsc-Soundcloud Download-Centos7.9配置LAMP环境-限制-使Windows系统时间显示秒钟-快递安全吗-gpeditmsc-CCTV View-gpeditmsc-YouTube Popout Player-开源工具-Lyrics Fetcher-gpeditmsc-gpeditmsc-Edit Anything-artalk-gpeditmsc-South African Newspapers Online-DataEase V2 嵌入式场景介绍-十款-gpeditmsc-Weather Tab-事件源模式和传统数据库方法在数据管理上的优劣分析-Emoji Keyboard- copy&past your emoji.-gpeditmsc-gpeditmsc-Pixel Combat 2 Game-gpeditmsc-Basketball Stars Game New Tab-浅谈windows下的白文件利用-gpeditmsc-Drift Hunters Unblocked Game-alibaba-gpeditmsc-虚拟宠物-gpeditmsc-jquery-Squeezie-IOS笔记-写出来-gpeditmsc-Volume Controller-JavaScript - 正则表达式-gpeditmsc-人工智能-Dragon Ball Super & DBZ Wallpapers HD NewTab-gpeditmsc-c++类-Drift Hunters Unblocked-gpeditmsc-NEM Hoje-经验分享-gpeditmsc-下载Bilibili视频-关于垃圾收集器你了解多少?一文总结七大垃圾收集器-gpeditmsc-Flappy Bird 2-gpeditmsc-日常运维-Custom Cursor Changer for Chrome-gpeditmsc-七日杀(7 Days To Die)服务器搭建教程,七日杀开服教程-My Quotes New Tab-网速慢-gpeditmsc-Space Canyon-gpeditmsc-Ultimate Car Driving Game-Family Time-gpeditmsc-gpeditmsc-Vemos-gpeditmsc-Gacha Life-题库-2022版-Hexo常用命令-gpeditmsc-FoE - Helper-startx命令 – 初始化X-window系统-Spring Security OAuth 2 教程 - 2:授权码模式-gpeditmsc-映像-Arcade Classics-gpeditmsc-Google 艺术与文化-Python 中如何获取输入?-scram-sha-256-JavaScript - DOM&BOM-gpeditmsc-Xbox New Tab-gpeditmsc-繪畫工具和屏幕截圖-Mais Barato PROTESTE-gpeditmsc-Netflix™ Extended-主要因素-gpeditmsc-Russian Aviation Insider-包含所有 HTTP 状态码的 Java 枚举-给 Parsec 设置代理,解决国内无法打开、无法登录、无法刷新的问题-gpeditmsc-Free Fire PC【Download Updated Version】-gpeditmsc-Webtor.io - Watch torrents online-FOFA Pro View-gpeditmsc-Clear New Tab-图片放大镜jquery.jqzoom.js使用实例附放大镜图标-gpeditmsc-Chrome™酷光标-gpeditmsc-Tic Tac Toe-gpeditmsc-来龙去脉-Solitaire Collection with Rules (320 Games)-易语言-首批-libdoge-日常运维-IDM for pc-易语言-Batman Wallpapers HD Custom DC Comics New Tab-Listen On Repeat YouTube Looper-易语言-易语言-MonkiBu TV y Radios Online-易语言-Extreme Traffic Racer Game 3D-kubelet-开源工具-易语言-3个 优秀Linux 网络监视器!-Dice Thrower-开发笔记-易语言-PUBG Craft Battlegrounds - Shooting Game-七成-易语言-Kahoot Keys-CDN 选择与推荐-易语言-gpeditmsc-РуТрекер - официальный плагин (доступ и пр.)-lamp+discuz+mysql-proxy-Easy Recipes App-录到-gpeditmsc-如何在源码包编译安装的 LEMP 环境下开启 OpenSSL 功能-White Rabbit-免费试用-ArcoLinux 发布 6.9.1 版-gpeditmsc-适用于 Google Chrome™ 的网络摄像头-gpeditmsc-新浪某站CRLF Injection导致的安全问题-Original Squid Game Offline-gpeditmsc-New Tab Theme Buddy-自动化部署基于 Docker 的 Rails 应用-gpeditmsc-ReddCoin Hoje-为什么我在使用pip时一直收到这些错误,该如何解决?-gpeditmsc-声音均衡器-网站监控组件blackbox_exporter-两种方法基于jQuery实现IE浏览器兼容placeholder效果-gpeditmsc-Keyboard & Mouse for Xbox xCloud-JT_curl - 一个PHP cURL封装方法-boss-Feedly Add-gpeditmsc-gpeditmsc-ScoutCub-jquery radio的取值_radio的选中_radio的重置方法-C# SQLite通用读写操作方法-gpeditmsc-Vex 4 Unblocked game-gpeditmsc-科普-Games 247-SwissFS Forex Ticker-gpeditmsc-jquery图片播放浏览插件prettyPhoto使用详解-Window Expander For YouTube-gpeditmsc-Visual Effects for Google Meet 视觉效果增强-MySQL忘记root密码解决办法-gpeditmsc-两种方式创建你自己的 Docker 基本映像-gpeditmsc-网盘-镜像命名的最佳实践 - 每天5分钟玩转 Docker 容器技术(18)-SeasonVar-用jquery实现的一个超级简单的下拉菜单-gpeditmsc-LinDuo: Английски БЕСПЛАТНО-回顾和汇总刚学JS的一些取整的方法-NeoDB-Waves Hoje-开源工具-gpeditmsc-windows-基于jQuery的淡入淡出可自动切换的幻灯插件-数据结构与算法-CrackWatch-白嫖帮-gpeditmsc-量身-jquery-网络安全-gpeditmsc-ETF申请-Daily Motivation - Motivational Quotes-Stable Diffusion-gpeditmsc-vim-Head Soccer 2022 Sports Game-Mysql-gpeditmsc-YouTube 播放器的皮肤-数据库-微服务中常见的 9种设计模式!如何选择?-gpeditmsc-homebrew-linuxer-Mi Emoji-jquery跟js初始化加载的多种方法及区别介绍-MongoDB 简介-gpeditmsc-Colorful Rubik's Cube-gpeditmsc-Nature NewTab Extension-千呼万唤-gpeditmsc-Return YouTube Dislike-gpeditmsc-HTML5 Flash Warning Fix for YouTube™-gpeditmsc-DejaVu-满分-gpeditmsc-ezpp!-gpeditmsc-Online Weather-cookie相关操作-gpeditmsc-一封-Windows + Ubuntu22.04 双系统安装-Javascript中日期对象-cats.-分享Javascript里12种遍历数据的方法-gpeditmsc-Rugby Start-gpeditmsc-数据库备份-人工智能-CentOS 和 Ubuntu 建 GRE Tunnel-Android Emulator Online-gpeditmsc-Search to Play the Song-gpeditmsc-Custom Cursors:自定义光标-gpeditmsc-Windows 10/11 设置 IPv4/IPv6 访问优先级-Interesting Facts-gpeditmsc-Jquery AJAX POST与GET之间的区别-Linux磁盘配额-如何为 Linux 系统中的 SSH 添加双重认证-IMDb Ratings for Netflix™-gpeditmsc-一个基于Go语言实现的组团学习网站,代码已开源-JumpServer 命令过滤功能-分享20款好玩的jQuery游戏-Super Netflix-gpeditmsc-动手实践 Linux VLAN - 每天5分钟玩转 OpenStack(13)-MongoDB常用命令-recover-Slope unblocked-gpeditmsc-MongoDB 连接-nginx配置中alias和root区别-Rescroller-gpeditmsc-PyQt-JQuery动画animate的stop方法使用详解-遊戲橘子擴充元件-gpeditmsc-tomcat-宝塔面板-Video Downloader Pro-gpeditmsc-.net-gpeditmsc-zabbix6.0-Solitaire Social Flash Allow-jQuery实现动画效果的实例代码-gpeditmsc-mongo-cn2-Popular Personalities-DataEase-gpeditmsc-Foxtrick-Python基础 – for循环-gpeditmsc-Boxel 3D-日常运维-javascript中短路语法初探-gpeditmsc-软件渗透-Радио-top-nginx-gpeditmsc-Retro Arcade Classic Games-nodejs-Coronavirus Cases-gpeditmsc-Docker安装kvm-web管理工具-intellij idea-gpeditmsc-FrankerFaceZ:Twitch 表情-Zabbix启动时提示libpcre.so.1: cannot open shared object file处理办法-nginx 代理到 阿里云oss-large-vps-gpeditmsc-Web Paint-软件使用-人工智能-对Java反序列化数据绕WAF新姿势的补充-gpeditmsc-YouTube Livestreams Theater Mode-如何写-gpeditmsc-Netflix 1080p-gpeditmsc-Naruto Shippuden Wallpaper HD New Tab-gpeditmsc-2048 Game-gpeditmsc-Daily Bible Page-分之-gpeditmsc-Netflix Hidden Categories-Windows的10个最佳iOS模拟器推荐-gpeditmsc-Lil Rooster Money Clicker - Idle Game-两小时-Java处理16进制字符串方法记录-gpeditmsc-1v1 LOL Unblocked-迁移hexo啦-Linux 容器将颠覆虚拟化,为什么?-Temple Run Game-gpeditmsc-jQuery当鼠标悬停时放大图片的效果实例-2.7.7-gpeditmsc-HDS / HLS Video Downloader-猜-SafeBrowser-gpeditmsc-ShadowPay Trademanager-经验分享-用AI制作“经典人生语录+拟人动物”创意视频,是一个新的副业好项目-Bee Hive-3在阿里云的ECS 部署kod业务 (可道云)-JQuery自定义事件的应用 JQuery最佳实践-魔术-MeterSphere 升级到 V2 版本后 MySQL 数据库字符集修改说明-Docker构建Tomcat(Web服务器)-总有-Basketball Legends-什么?CSS还自带变量功能?-zipperdown-魔术-視頻速度控制器-Fluid -21- 自定义 CSS 样式-魔术-New Tab Direct - Abstract-Unity 编辑器现已正式面向 Linux 推出-魔术-贴纸疯狂-Linux搭建ELK-7.5.1分布式集群及配置X-Pack-经验分享-魔术-怎么在windows系统上创建名称为空的文件、文件夹?及实现物理意义上的隐藏-FlickCall-Netflix Youtube Party w/ Video Call-Windows10出现大容量存储设备禁用情况-魔术-Annotations Restored for YouTube™-Jenkins配置邮件通知-魔术-Uno Card Game with AI-【修复】ChatGPT商业版源码带支付功能+绘画+对话+免授权不反弹-魔术-Geometry Dash Strategy Game - HTML5 Game-JumpServer-范-魔术-Roblox Empty Servers-JavaScript:冒泡排序-nginx防止DDOS攻击配置-魔术-All Netflix Categories-操作系统-Jenkins获取当前job执行的用户名-魔术-Temperature Worldwide-前端SVG开发插件:8个用于SVG动画的JavaScript库-魔术-Ban Checker for Steam-CSS3-jquery.fileEveryWhere.js 一个跨浏览器的file显示插件-魔术-Clock for RF Nerds-python3学习笔记--pairwise-Android笔记-魔术-GamePoint Flash Enabler-windows-魔术-1v1 LOL Unblocked-算法思维训练(六)| 队列?-linux-魔术-Magic Actions for YouTube™-网络安全-JavaScript笔记-Ubuntu怎么设置root密码(乌班图)-魔术-Halo 1.4.10 发布-Tetrys-魔术-Vimbox Субтитры от Skyeng-chatgpt-Python - 读取大图片-jenkins-魔术-The FFZ Add-On Pack-10s!无限制!一款AI视频制作的王者级工具!附教程-魔术-Typecho实现百度自动提交以及熊掌号自动提交AMP/MIP接口插件-Among Us Custom Cursor-魔术-AniDUB Proxy-JS内置对象TypeError(类型错误):用来表示值的类型非预期类型时发生的错误-魔术-Snake-日常运维-jquery实现鼠标滑过显示二级下拉菜单效果-财-魔术-Paint - Screenshot-魔术-Open in VLC™ media player-但能-魔术-VLC Capture-使用 utmpdump 监控 CentOS 用户登录历史-魔术-VUE开发:vue-cli中实现响应式布局-Personalized Weather-魔术-谷歌adsense:隆重推出全新的合作规范中心-Never Ending Netflix-魔术-Recordify Title Discover-vuepress自定义vue组件-魔术-2048 Game-魔术-Currency calculator-魔术-CNN Video-魔术-Nyan Cat Progress Bar for YouTube™-魔术-The Meme Board-pip.conf-魔术-TwoSided-Vue 3中的Teleport和Suspense组件使用详解-RockyLinux8升级RockyLinux9版本-魔术-故障注入-HackerNews Tweaks-魔术-Economy News Go-卡尔-Bass Boost: HD Audio-魔术-扫码登录-【Docker】搭建开源轻量的评论系统 - Artalk-魔术-Retro Bowl Game-垄断-使用 Python 和 Prometheus 跟踪天气-pp calculator-魔术-js日期、经纬度格式化-41-魔术-增强器 - 增加音量-formValidator3.3的ajaxValidator一些异常分析-宝塔面板使用记录分享-魔术-Enhancer for Netflix, Crunchyroll, etc-魔术-Onion's Revenge-【kubernetes篇】如何精确控制滚动更新-如何使用Spring Boot + SQLite3 + mybatis插件-魔术-Go 测试 K8S 组件指南与对比,详细版!-魔术-前端开发-Tab for a Cause-rocketmq-dashboard-云锁对centos7/8内核实际支持情况-魔术-Json Web Token-开发笔记-Vex 5 Unblocked Game-魔术-MySQL lower_case_table_names参数介绍-Docker笔记-Orbital Daggers-魔术-Web Paint-ubuntu-魔术-Pandora Player-kubesphere-魔术-Finitimus-Slope Unblocked Game-魔术-server2000-Video Downloader Button-魔术-算法-DriveCast-魔术-Лучшие онлайн радио - The Radio-魔术-Universal Video Downloader-魔术-2048-JS-API-cve-2014-7911-魔术-【每月一荐】推荐5个好用的Chrome插件,再也不用担心看不懂外文了!还可以下载推特视频!|外文学习、Chrome插件管理-找回-Stable Diffusion绘画 | LightFlow工作流插件:一键导入,高效生图-slf4j+log4j-Tunnel Glider-魔术-Night Mode for Jira-理解cookie、session、localStorage、sessionStorage的关系与区别-IP核接口-日常运维-Popout for YouTube™-魔术-Motivation-魔术-Twitch Live-魔术-Sound Booster-魔术-哔哩哔哩助手-beanname-docker启动时指定环境变量-Promethues如何对进程监控-魔术-包含所有 HTTP 状态码的 Java 枚举-拆解腾讯面试题:拔掉网线后,原来的TCP连接还在不在?-扫雷游戏-魔术-Instapaper Restyled-汇-魔术-Karaoke Online: Sing Songs with Lyrics-logger-魔术-IceCMS:国际范的内容管理系统-Site Blocker-魔术-魔兽争霸-Beauty Backgrounds-魔术-十款最出色的PHP安全开发库中文详细介绍-带你了解 MyBatis 插件设计演化过程-Daxab Ultimate-魔术-Cenafy-浅析JQuery获取和设置Select选项的常用方法总结-魔术-Just Fall lol Game-魔术-springboot中自定义配置-图库-Gold Price from Alloyx-低版本-魔术-vue-router传参-提高jQuery性能优化的技巧-NewsLens-Kafka基于SASL框架PLAIN认证机制配置用户密码认证-3个超好用的AI工具,帮你自动生成文章配图,Tldraw、Napkin、Claude实测-魔术-ElasticSearch-Free Paint Online - Draw on any website-魔术-mysql 安装 docker 版5.7.34-Pulse Feed Reader-魔术-Potion - Video emails to double your sales-Vue3编译优化:减小应用体积和提升加载速度-ChatReplay-魔术-Web TikTok-魔术-Php笔记-att&ck-8、web3.js 执行交易-CPRewritten Flash Enabler-魔术-Typecho评论区增加楼层显示-vuejs-14.0-PPaint Online - Photoshop for Chrome-魔术-Github-Free Robux Generator 2022-再见 Jenkins!一款更适合国人的自动化部署工具来了-魔术-经验分享-web3-Soccer Online Game Football - HTML5 Game-课程设计-魔术-YTM+ for YouTube™ Music-币知识-魔术-网格算法练习-phpstorm自动同步(部署)本地代码到服务端-GamersClub Booster-魔术-cve-2018-0802-Custom Cursor-Man: Hero's Rise - 空闲游戏-魔术-JDK国内镜像加速下载,免登录!-DearCinema.com-魔术-GIF Scrubber-魔术-Popular Personalities-[CVE-2018-2019]DedeCMS V5.7 SP2前台文件上传漏洞-魔术-在PHP中使用CURL实现GET和POST请求的方法-魔术-hansome-魔术-魔术-魔术-枚举-魔术-替代 Spring Boot 的其它5种微服务框架-新视野-魔术-Linux搭建DHCP服务器的详细过程-魔术-魔术-基于uni-app与图鸟UI打造的各领域移动端模板大赏-通过表格批量创建更新 JumpServer 资产授权和用户信息-校验文件-工具盒子" />

51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Linux 磁盘IO 性能优化,提升30%!

1、什么是磁盘

在讲解磁盘IO前,先简单说下什么是磁盘。磁盘是可以持久化存储的设备,根据存储介质的不同,常见磁盘可以分为两类:机械磁盘和固态磁盘。

1.1 机械磁盘

第一类,机械磁盘,也称为硬盘驱动器(Hard Disk Driver),通常缩写为 HDD。机械磁盘主要由盘片和读写磁头组成,数据就存储在盘片的环状磁道中。在读写数据前,需要移动读写磁头,定位到数据所在的磁道,然后才能访问数据。显然,如果 I/O 请求刚好连续,那就不需要磁道寻址,自然可以获得最佳性能。这其实就是我们熟悉的,连续 I/O 的工作原理。与之相对应的,当然就是随机 I/O,它需要不停地移动磁头,来定位数据位置,所以读写速度就会比较慢。

1.2 固态磁盘

第二类,固态磁盘(Solid State Disk),通常缩写为 SSD,由固态电子元器件组成。固态磁盘不需要磁道寻址,所以,不管是连续 I/O,还是随机 I/O 的性能,都比机械磁盘要好得多。

1.3 机械磁盘和固态磁盘对比

其实,无论机械磁盘,还是固态磁盘,相同磁盘的随机 I/O 都要比连续 I/O 慢很多,原因也很明显。

对机械磁盘来说,刚刚提到过的,由于随机 I/O 需要更多的磁头寻道和盘片旋转,它的性能自然要比连续 I/O 慢。

而对固态磁盘来说,虽然它的随机性能比机械硬盘好很多,但同样存在"先擦除再写入"的限制。随机读写会导致大量的垃圾回收,所以相对应的,随机 I/O 的性能比起连续 I/O 来,也还是差了很多。

此外,连续 I/O 还可以通过预读的方式,来减少 I/O 请求的次数,这也是其性能优异的一个原因。很多性能优化的方案,也都会从这个角度出发,来优化 I/O 性能。

此外,机械磁盘和固态磁盘还分别有一个最小的读写单位。

机械磁盘的最小读写单位是扇区,一般大小为 512 字节。

而固态磁盘的最小读写单位是页,通常大小是 4KB、8KB 等。

如果每次都读写 512 字节这么小的单位的话,效率很低。所以,Linux文件系统会把连续的扇区或页,组成逻辑块,然后以逻辑块作为最小单元来管理数据。常见的逻辑块的大小是 4KB,也就是说,连续 8 个扇区,或者单独的一个页,都可以组成一个逻辑块。

1.4 按照接口进行磁盘分类1.4 按照接口进行磁盘分类

除了可以按照存储介质来分类,另一个常见的分类方法,是按照接口来分类,比如可以把硬盘分为 IDE(Integrated Drive Electronics)、SCSI(Small Computer System Interface) 、SAS(Serial Attached SCSI) 、SATA(Serial ATA) 、FC(Fibre Channel) 等。

不同的接口,往往分配不同的设备名称。比如, IDE 设备会分配一个 hd 前缀的设备名,SCSI 和 SATA 设备会分配一个 sd 前缀的设备名。如果是多块同类型的磁盘,就会按照 a、b、c 等的字母顺序来编号。

1.5 磁盘架构1.5 磁盘架构

除了磁盘本身的分类外,当你把磁盘接入服务器后,按照不同的使用方式,又可以把它们划分为多种不同的架构。

最简单的,就是直接作为独立磁盘设备来使用。这些磁盘,往往还会根据需要,划分为不同的逻辑分区,每个分区再用数字编号。比如我们前面多次用到的 /dev/sda ,还可以分成两个分区 /dev/sda1 和 /dev/sda2。

另一个比较常用的架构,是把多块磁盘组合成一个逻辑磁盘,构成冗余独立磁盘阵列,也就是 RAID(Redundant Array of Independent Disks),从而可以提高数据访问的性能,并且增强数据存储的可靠性。

根据容量、性能和可靠性需求的不同,RAID 一般可以划分为多个级别,如 RAID0、RAID1、RAID5、RAID10 等。

RAID0 有最优的读写性能,但不提供数据冗余的功能。

而其他级别的 RAID,在提供数据冗余的基础上,对读写性能也有一定程度的优化。

最后一种架构,是把这些磁盘组合成一个网络存储集群,再通过 NFS、SMB、iSCSI 等网络存储协议,暴露给服务器使用。(云服务器基本都是这种架构)

其实在 Linux 中,磁盘实际上是作为一个块设备来管理的,也就是以块为单位读写数据,并且支持随机读写。每个块设备都会被赋予两个设备号,分别是主、次设备号。主设备号用在驱动程序中,用来区分设备类型;而次设备号则是用来给多个同类设备编号。

2、什么是磁盘IO 

磁盘 I/O(Input/Output)是指计算机系统中涉及到磁盘的数据读取和写入操作。磁盘 I/O 是计算机与存储设备之间进行数据交换的一种重要方式。当计算机需要从磁盘读取数据时,它会发起一个读取请求,磁盘会寻找并将数据传输到计算机的内存中;当计算机需要将数据写入磁盘时,它会发起一个写入请求,将数据从内存写入到磁盘中。

我们都知道磁盘中存储的程序,必须要加载到内存后才能运行,在磁盘中保存的原始程序是无法直接运行的。这是因为,负责解析和运行程序内容的CPU,需要通过内部程序计数器来指定内存地址,然后才能读出程序。即使CPU可以直接读出并运行磁盘中保存的程序,由于磁盘读取速度慢,程序的运行速度还是会降低。总之,存储在磁盘中的程序需要读入到内存后才能运行。

当程序在内存中执行时,如果需要加载一些文档数据或其他文件,它会通过操作系统提供的文件操作功能来实现。操作系统会提供一些函数或系统调用,允许程序访问磁盘上的文件并将其加载到内存中。程序可以使用文件路径指定要加载的文件,然后通过操作系统提供的函数来打开这些文件。一旦文件被打开,程序就可以读取其中的数据,并将其加载到内存中,以便后续处理。这就好像你在读一本书,首先需要打开书本,然后才能阅读其中的内容。 当程序执行 I/O 操作时,CPU 将会暂时停止执行程序指令,而是会等待操作系统完成读取文件的工作。

一旦CPU下发了读取文件的指令,它会等待操作系统通知文件已经准备好,并将数据加载到内存中。CPU会继续执行其他的指令,而不是空闲等待。一旦文件数据加载到内存中,CPU 就会继续执行程序的后续逻辑。在这个过程中,CPU 可能会执行其他指令,例如处理内存中的其他数据,执行其他线程的操作,或者执行程序的其他部分逻辑。 CPU 不会在等待期间完全停止执行。
Linux 磁盘IO 性能优化,提升30%!_https://www.tiejiang.org_Linux安全运维_第1张
注意 1:当CPU需要等待磁盘操作完成才能继续处理数据时,它可能会进入空闲状态,这时,CPU的使用率下降,因为它正在等待IO操作,而不是执行计算任务,这种现象说明了IO操作对CPU性能的重要影响。

注意 2:内存相当于CPU和硬盘之间的桥梁,当需要运行一个程序时,先将程序加载到内存中,然后CPU取内存中的指令和数据进行处理运算,处理完后将结果写回内存,如果需要的话再将结果从内存写入硬盘。

3、磁盘性能指标

说到磁盘性能的衡量标准,必须要提到五个常见指标,也就是我们经常用到的,使用率、饱和度、IOPS、吞吐量以及响应时间等。这五个指标,是衡量磁盘性能的基本指标:

  • IOPS(Input/Output Per Second),是指每秒磁盘处理的I/O请求数量。衡量存储性能一般看吞吐量(传输速度)和IOPS两个指标。

  • 吞吐量,是指每秒磁盘处理的 I/O 请求大小,吞吐量主要指大文件的连续读写速度,在大文件的复制、备份等场景适用,用"HD Tune专业版"中的"基准"测试功能即可测试出磁盘的吞吐量,一般传统机械sata硬盘的顺序读写速度为 :80~150M/s,SAS硬盘为150~200M/s,SSD固态硬盘为400~600M/s。

  • 响应时间,是指 I/O 请求从发出到收到响应的间隔时间。

  • 使用率,是指磁盘处理 I/O 的时间百分比。过高的使用率(比如超过 80%),通常意味着磁盘 I/O 存在性能瓶颈,这里要注意的是,使用率只考虑有没有 I/O,而不考虑 I/O 的大小。换句话说,当使用率是 100% 的时候,磁盘依然有可能接受新的 I/O 请求,比如磁盘一直读写小文件,虽然使用率是100%,但是磁盘压力可能并不大。

  • 饱和度,是指磁盘处理 I/O 的繁忙程度。过高的饱和度,意味着磁盘存在严重的性能瓶颈。当饱和度为 100% 时,磁盘无法接受新的 I/O 请求。

    这些指标,很可能是你经常挂在嘴边的,一讨论磁盘性能必定提起的对象。不过我还是要强调一点,不要孤立地去比较某一指标,而要结合读写比例、I/O 类型(随机还是连续)以及 I/O 的大小,综合来分析。举个例子,在数据库、大量小文件等这类随机读写比较多的场景中,IOPS 更能反映系统的整体性能;而在多媒体等顺序读写较多的场景中,吞吐量才更能反映系统的整体性能。

    一般来说,我们在为应用程序的服务器选型时,要先对磁盘的 I/O 性能进行基准测试,以便可以准确评估,磁盘性能是否可以满足应用程序的需求。但还是那句话,因地制宜,灵活选取。在基准测试时,一定要注意根据应用程序 I/O 的特点,来具体评估指标。当然,这就需要你测试出,不同 I/O 大小(一般是 512B 至 1MB 中间的若干值)分别在随机读、顺序读、随机写、顺序写等各种场景下的性能情况。用性能工具得到的这些指标,可以作为后续分析应用程序性能的依据。一旦发生性能问题,你就可以把它们作为磁盘性能的极限值,进而评估磁盘 I/O 的使用情况。

4、磁盘 I/O 观测

了解磁盘的性能指标,只是我们 I/O 性能测试的第一步。接下来,又该用什么方法来观测它们呢?这里,介绍几个常用的 I/O 性能观测方法。

4.1 观察每块磁盘的使用情况

iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

# iostat属于sysstat软件包。可以直接安装。
yum install sysstat -y

选项说明:

-c: 仅显示CPU利用率相关信息;
-d: 仅显示磁盘I/O相关信息;
-k: 显示输出的数据单位为KB/s而不是默认的字节/s;
-t: 在输出中显示时间戳(时间戳格式YYYY-MM-DD HH:MM:SS)。
-m:显示状态以兆字节每秒为单位;
-p:仅显示块设备和所有被使用的其他分区的状态;
-V:显示版号并退出;
-x:显示扩展状态。

iostat 的详细使用本文不再赘余,详情见《Linux iowait详解》这篇博文。

在iostat输出的这些指标中,需要注意:

  • %util ,就是我们前面提到的磁盘 I/O 使用率;
  • r/s+ w/s ,就是 IOPS;
  • rkB/s+wkB/s ,就是吞吐量;
  • r_await 或 w_await ,就是响应时间。

在观测指标时,也别忘了结合请求的大小( rareq-sz 和 wareq-sz)一起分析。你可能注意到,从 iostat 并不能直接得到磁盘饱和度。事实上,饱和度通常也没有其他简单的观测方法,不过,你可以把观测到的平均请求队列长度或者读写请求完成的等待时间,跟基准测试的结果(比如通过 fio)进行对比,综合评估磁盘的饱和情况。

4.2 观察进程io的使用情况

除了每块磁盘的 I/O 情况,每个进程的 I/O 情况也是我们需要关注的重点。上面提到的 iostat 只提供磁盘整体的 I/O 性能数据,缺点在于,并不能知道具体是哪些进程在进行磁盘读写。要观察进程的 I/O 情况,还可以使用iotop这个工具。iotop。它是一个类似于 top 的工具,你可以按照 I/O 大小对进程排序,然后找到 I/O 较大的那些进程。

#安装
yum -y install iotop

选项说明:

• --version #显示版本号
• -h, --help #显示帮助信息
• -o, --only #显示进程或者线程实际上正在做的I/O,而不是全部的,可以随时切换按o
• -b, --batch #运行在非交互式的模式
• -n NUM, --iter=NUM #在非交互式模式下,设置显示的次数,
• -d SEC, --delay=SEC #设置显示的间隔秒数,支持非整数值
• -p PID, --pid=PID #只显示指定PID的信息
• -u USER, --user=USER #显示指定的用户的进程的信息
• -P, --processes #只显示进程,一般为显示所有的线程
• -a, --accumulated #显示从iotop启动后每个线程完成了的IO总数
• -k, --kilobytes #以千字节显示
• -t, --time #在每一行前添加一个当前的时间
• -q, --quiet #suppress some lines of header (implies --batch). This option can be specified up to three times to remove header lines.
• -q column names are only printed on the first iteration,
• -qq column names are never printed,
• -qqq the I/O summary is never printed.
`iotop 快捷键
• 左右箭头  #改变排序方式,默认是按IO排序
• r  #改变排序顺序
• o  #只显示有IO输出的进程
• p  #进程/线程的显示方式的切换
• a  #显示累积使用量
• q  #退出`

iotop 的输出如下所示:

$ iotop
Total DISK READ :       0.00 B/s | Total DISK WRITE :       7.85 K/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
15055 be/3 root        0.00 B/s    7.85 K/s  0.00 %  0.00 % systemd-journald

从这个输出,可以看到,前两行分别表示,进程的磁盘读写大小总数和磁盘真实的读写大小总数。因为缓存、缓冲区、I/O 合并等因素的影响,它们可能并不相等。剩下的部分,则是从各个角度来分别表示进程的 I/O 情况,包括线程 ID、I/O 优先级、每秒读磁盘的大小、每秒写磁盘的大小、换入和每个进程的 I/O 利用率(即进程正在进行的 I/O 操作所占用的时间比例)。

4.3 磁盘性能观测命令补充

(1)sar命令

ostat 和 iotop 命令都主要用于实时监控系统的 I/O 情况,通常不会记录历史的 I/O 信息。如果你需要查看历史的 I/O 信息,可以考虑使用sar命令。

sar 命令是分析系统瓶颈的神器,可以用来查看 CPU 、内存、磁盘、网络等性能,sar 命令查看当前磁盘性能的命令为:

[root@106 sa]# sar -d -p 1 2
Linux 3.10.0-1160.59.1.el7.x86_64 (106)     2024年04月18日     _x86_64_    (8 CPU)

17时33分33秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 17时33分34秒 sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17时33分34秒 sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17时33分34秒 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17时33分34秒 sda 25.00 0.00 276.00 11.04 0.00 0.16 0.16 0.40 17时33分34秒 centos-root 25.00 0.00 276.00 11.04 0.00 0.16 0.16 0.40 17时33分34秒 centos-swap 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

17时33分34秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 17时33分35秒 sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17时33分35秒 sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17时33分35秒 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17时33分35秒 sda 153.00 0.00 1444.00 9.44 0.85 5.55 0.29 4.40 17时33分35秒 centos-root 153.00 0.00 1444.00 9.44 0.85 5.54 0.29 4.40 17时33分35秒 centos-swap 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

平均时间: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 平均时间: sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均时间: sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均时间: sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均时间: sda 89.00 0.00 860.00 9.66 0.43 4.79 0.27 2.40 平均时间: centos-root 89.00 0.00 860.00 9.66 0.43 4.79 0.27 2.40 平均时间: centos-swap 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 [root@106 sa]#


其中, "-d"参数代表查看磁盘性能,"-p"参数代表将 dev 设备按照 sda,sdb......名称显示,"1"代表每隔1s采取一次数值,"2"代表总共采取2次数值。输出项除了tps,其他指标和iostat一致,这里就不再赘余(tps:每秒钟物理设备的 I/O 传输总量)。

默认情况下,sar显示当前数据;如果想继续查看一天前的报告;可以查看保存在/var/log/sa/下的sar日志(默认保存三天数据):

[root@106 sa]# sar -d -p -f /var/log/sa/sa16
Linux 3.10.0-1160.59.1.el7.x86_64 (106)     2024年04月16日     _x86_64_    (8 CPU)
`14时10分01秒       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
14时20分01秒       sdc      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
14时20分01秒       sdd      0.04      0.00      0.36      9.00      0.00      2.12      2.12      0.01
14时20分01秒       sdb      0.01      0.00      0.12      9.00      0.00      0.38      0.38      0.00
14时20分01秒       sda     49.17      0.00    888.31     18.07      0.07      1.41      0.58      2.85
14时20分01秒 centos-root     49.42      0.00    888.30     17.97      0.07      1.43      0.58      2.85
......
23时40分01秒       sdc      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
23时40分01秒       sdd      0.04      0.00      0.36      9.00      0.00      0.79      0.79      0.00
23时40分01秒       sdb      0.01      0.00      0.12      9.00      0.00      1.62      1.62      0.00
23时40分01秒       sda     48.50      0.00    892.42     18.40      0.08      1.57      0.63      3.07
23时40分01秒 centos-root     48.71      0.00    892.42     18.32      0.08      1.58      0.63      3.07
23时40分01秒 centos-swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
23时50分01秒       sdc      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
23时50分01秒       sdd      0.04      0.00      0.36      9.00      0.00      0.25      0.25      0.00
23时50分01秒       sdb      0.01      0.00      0.12      9.00      0.00      0.25      0.25      0.00
23时50分01秒       sda     49.29      0.00    824.63     16.73      0.07      1.52      0.64      3.18
23时50分01秒 centos-root     49.50      0.00    824.63     16.66      0.08      1.53      0.64      3.18
23时50分01秒 centos-swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
平均时间:       sdc      0.00      0.47      0.01    208.69      0.00      4.06      2.78      0.00
平均时间:       sdd      0.04      0.00      0.37      9.08      0.00      0.49      0.48      0.00
平均时间:       sdb      0.02      0.00      0.14      9.31      0.00      0.53      0.50      0.00
平均时间:       sda     48.53      0.00    863.51     17.79      0.07      1.46      0.61      2.97
平均时间: centos-root     48.74      0.00    863.51     17.71      0.07      1.47      0.61      2.97
平均时间: centos-swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00`

(2)其他IO相关的常用命令
Linux 磁盘IO 性能优化,提升30%!_https://www.tiejiang.org_Linux安全运维_第2张

5、小结

本文梳理了磁盘、 Linux IO、IO性能指标和性能工具。我们通常用 IOPS、吞吐量、使用率、饱和度以及响应时间等几个指标,来评估磁盘的 I/O 性能。可以用 iostat 获得磁盘的 I/O 情况,也可以用iotop 观察进程的 I/O 情况。不过在分析这些性能指标时,要注意结合读写比例、I/O 类型以及 I/O 大小等,进行综合分析。

赞(1)
未经允许不得转载:工具盒子 » Linux 磁盘IO 性能优化,提升30%!