使用命令行工具诊断 Ubuntu 服务器网络变慢的问题

在实际运维中,服务器网络变慢是常见问题之一。本文通过一次典型案例,介绍如何使用命令行工具诊断 Ubuntu 系统中网络流量和性能瓶颈,并配合 nload、iftop 等工具进行可视化分析。 背景:服务器响应变慢,怀疑与网络相关 某台 Ubuntu 服务器突然出现响应迟缓的现象。系统本身并未重启,也未进行软件升级,初步判断可能与网络流量激增或异常连接有关。 第一步:排查网络接口 首先,确定服务器当前使用的网络接口: ip link 常见接口包括: 在本例中,eth0 为主要网络接口。 第二步:使用 nload 实时查看网络流量 安装并启动 nload: sudo apt install nloadsudo nload eth0 观察发现: 此时可以确认,网络确实有大流量传输。 第三步:定位流量来源 为了进一步确认是谁在产生流量,可使用 iftop 工具: sudo apt install iftopsudo iftop -i eth0 或者使用 ss 查看连接来源: sudo ss -tunap 配合筛选关键端口、应用名、远程 IP,可判断是否为正常业务流量,还是潜在的异常连接或攻击。 第四步:确认是代理服务在跑流量 经分析,发现服务器中部署了 …

高端配置贬值实录:i9-9900K + RTX 2080 Ti 的市场命运

曾经售价超过 30 万日元的高端游戏主机,如今在二手市场上却以不到 10 万日元的价格流通。这种价格差距不仅令人惊讶,也揭示了高性能电脑配置在时间面前的脆弱性。以 Intel Core i9-9900K + NVIDIA GeForce RTX 2080 Ti + 32GB DDR4 为代表的旗舰组合,在 2025 年的实际价值早已不可同日而语。 1. 平台老化,难以承接未来 Intel Core i9-9900K 是第九代 Coffee Lake Refresh 架构处理器,于 2018 年末发布,彼时被誉为“游戏最强CPU”之一。其单核性能强劲,配合 Z390 主板和 DDR4 内存构成了当时的顶级平台。 然而到了 2025 年,这一平台已面临以下问题: 这些硬件限制使得用户在尝试更换显卡或加装高速存储时,无法充分发挥新配件性能。 2. RTX 2080 Ti 昔日王者的平民化 GeForce RTX 2080 Ti 于 …

有公网访问能力的自建服务器,究竟能搭建什么实用服务?

在拥有性能强大的服务器,并具备公网访问能力(例如通过 FRP、v2ray、Nginx 反代等)之后,自建服务的潜力几乎无限。无需再依赖公有云平台或商业服务,就能打造一套私有、安全、灵活、扩展性极高的数字生活与工作环境。 本文将围绕“已有公网访问能力的自建服务器”这一前提,梳理可部署的典型应用场景与推荐服务,并结合实际部署经验,总结出一条适合长期使用、自主管理的技术路径。 ✅ 架构基础 只要具备以下任一能力,便可以实现公网访问: 有了公网访问,即可从任何地点访问服务器的服务(无需 VPN、无需本地连接),进而部署各种高价值服务。 🧭 推荐部署的服务分类 1. 🌐 网盘与数据同步 应用 功能 Nextcloud / ownCloud 私有云盘、WebDAV、日历、联系人、任务管理、相册 Syncthing 多设备实时文件同步,替代 Resilio Sync Immich 类似 Google Photos 的照片管理与备份,支持人脸识别 2. 🧠 笔记、文档与知识管理 应用 功能 Joplin Server Markdown 云笔记,与本地客户端同步 Trilium Notes 多层级笔记系统,自动化强 BookStack / Wiki.js 企业知识库或技术文档平台 Paperless-ngx 文档归档与 OCR,自动整理扫描文件 3. 🎥 …

MySQL 中为何应创建 root 以外的用户账户?

在日常的数据库管理和网站部署过程中,很多初学者或小型项目常常直接使用 root 用户连接 MySQL 数据库。然而,这种做法存在较大的安全隐患和管理难题。本文将从安全性、权限控制、审计追踪等角度出发,介绍为什么应在 MySQL(或 MariaDB)中创建 root 以外的用户,并为不同用途创建专属账户。 一、root 用户的特性与风险 MySQL 中的 root 用户是超级管理员,拥有最高级别的数据库权限,包括: 一旦 root 密码泄露,攻击者可以完全控制数据库系统,造成严重后果。将 root 用户暴露给应用程序或 Web 前端,更是极为危险的做法。 二、最小权限原则(Principle of Least Privilege) 在信息安全领域,「最小权限原则」是一项基本理念。即每个账号仅获得完成其任务所必需的最小权限,避免权限过高带来的安全威胁。 在 MySQL 中,可以为不同应用、程序或用户创建独立的账户,并根据其用途授予精确的权限,例如: 通过权限细分,既满足业务需要,又控制潜在风险。 三、为不同用途创建专用账户的好处 1. 提升系统安全性 2. 权限细化与隔离 3. 审计与追踪方便 4. 限制来源 IP 四、实际应用场景举例 账号用途 推荐权限 主机限制 网站后端程序 SELECT, INSERT, UPDATE, DELETE …

Nextcloud 中的密码管理:Passman 插件受限后的替代方案总结

随着 Chrome 浏览器更新至 Manifest V3 标准,Nextcloud 中广受欢迎的密码管理工具 Passman 的浏览器扩展目前已无法正常使用。这一变动对依赖其自动填充功能的用户造成较大影响。虽然 Passman 项目本身仍有开发活动,但其浏览器插件尚未适配新版标准,导致功能受限。本文将介绍几种可在 Nextcloud 中作为替代的密码管理方案,并进行简要对比分析。 ✅ 替代方案 1:Passwords for Nextcloud 🔹 简介 “Passwords” 是当前最主流的替代方案,提供与 Nextcloud 平台紧密整合的密码管理功能。 🔹 核心特点 🔹 推荐理由 是目前最活跃的密码管理 App,界面清晰,使用体验接近商业级解决方案。作为 Passman 的接班人,其浏览器扩展功能完整,使用门槛低,更新频率高。 ✅ 替代方案 2:KeePass + Nextcloud 文件同步 🔹 简介 KeePass 是历史悠久的离线密码管理器,通过在本地保存加密的 .kdbx 文件管理密码。 🔹 实现方式 🔹 推荐理由 适合已经在使用 KeePass …

Arch Linux 旧内核模块清理与 DKMS 编译错误彻底解决记录

在长期使用 Arch Linux 的过程中,内核会不断更新,系统也会留下许多历史内核版本的残留模块目录。这些残留文件虽然通常不会影响正常启动,但在安装或编译 DKMS(动态内核模块,如无线网卡驱动、显卡驱动等)时,常常会提示「为旧内核编译失败」的错误,影响体验。 这篇文章记录一次系统性清理旧内核文件的全过程,并分析 DKMS 触发机制,最终彻底解决编译提示问题。 💡 背景 Arch Linux 采用滚动更新模式,经常自动升级到最新内核。每次升级时,pacman 会安装新内核并更新 /usr/lib/modules 目录。然而,老版本内核的模块目录并不会自动删除,导致大量「历史残留」。 例如,/usr/lib/modules 中可能出现如下目录: 5.15.29-1-lts5.15.30-1-lts5.16.16-arch1-16.7.6-zen1-1-zen6.14.10-arch1-16.15.2-arch1-1 ← 当前使用内核 ⚠️ 问题表现 在安装 DKMS 驱动(如 snd-hda-macbookpro、rtl88x2bu 等)时,经常出现以下提示: 为内核 5.16.16-arch1-1 编译失败:找不到内核头文件或符号表 虽然不影响当前系统的正常运行,但会导致日志或安装输出杂乱,给人一种「系统不干净」的印象。 🔎 原因分析 DKMS 如何决定编译哪些内核 DKMS 并不是对 /usr/lib/modules 中每个目录都强制编译,而是根据以下条件判断: 只要 build 文件存在,即使该内核实际已被卸载,DKMS 仍然会尝试为其编译驱动,最终导致提示错误。 ✅ 彻底解决思路 1️⃣ 清理 /usr/lib/modules 旧内核目录 …

macOS Time Machine 详尽介绍

Time Machine 是 macOS 系统自带的备份工具,首次推出于 macOS 10.5(Leopard)。它旨在为用户提供一种“时间旅行”式的备份体验,能够轻松地回溯和恢复文件、应用、系统设置等。 基本工作原理 Time Machine 会自动对整个系统进行快照式备份,并将变更的文件保存到指定的外接硬盘、网络存储(NAS)或 Time Capsule。当需要恢复时,可进入「时间轴」界面选择历史版本,恢复单个文件、文件夹,甚至整个系统。 默认备份策略 Time Machine 的默认备份策略如下: 当备份磁盘空间不足时,系统会自动删除最早的备份,以便腾出空间给新的备份。 支持的备份目标 Time Machine 可将备份存储到以下设备: 文件系统要求 备份磁盘推荐使用 APFS(Apple 文件系统)或者 HFS+(Mac OS 扩展(日志式))。 macOS Big Sur 之后,Time Machine 对 APFS 磁盘备份的支持更好,速度更快,占用空间更少,且支持快照技术。 恢复功能 Time Machine 可恢复的范围包括: 如果电脑崩溃或者更换新机,可在初次设置时直接从 Time Machine 备份中迁移数据,恢复到相同或类似状态。 配置与排除项 用户可在「系统设置」>「Time Machine」中指定备份磁盘,也可以选择排除某些文件夹、卷宗或文件类型,以减少空间占用或提高备份效率。 定制化需求 Time …

macOS 应用安装、卸载及彻底清理数据的完整指南

在 macOS 上,安装和卸载应用相较于其他系统显得更为直观,但实际上很多人忽视了「卸载后数据残留」的问题,导致硬盘空间浪费,甚至引发隐私风险。本文详细介绍 macOS 上安装、卸载及彻底删除应用数据的完整流程,帮助系统保持干净状态。 🟢 macOS 应用安装方式 macOS 的应用主要通过以下几种方式安装: 不论哪种方式,应用本体通常位于: /Applications 或者: ~/Applications 🔴 常见误区:仅删除 .app 文件并不彻底 在 Finder 中,将某个 .app 文件拖入废纸篓并清空,这个操作只会删除程序本体。绝大多数应用会在用户目录下生成配置文件、缓存、历史记录、日志等,默认不会自动清理。这些文件通常保存在以下目录: ~/Library/Application Support/~/Library/Caches/~/Library/Preferences/~/Library/Saved Application State/ 🟠 如何查找应用残留数据 1️⃣ 列出已安装应用 通过终端查看当前系统已安装的应用: ls /Applications/*.app ~/Applications/*.app 结果会显示所有安装的应用名称,用于后续比对。 2️⃣ 查看 Application Support 内容 执行以下命令查看所有可能残留的文件夹: ls ~/Library/Application\ Support/ 若文件夹对应的软件已经不在「应用程序」里存在,基本可以判定为「卸载后残留」。 🔵 如何彻底删除已卸载应用的数据 删除 Application …

Galaxy One UI 的 Dual Messenger 功能与 LINE 分身账号使用解析

在使用 Samsung Galaxy(One UI)系统的用户中,很多人会遇到需要同时登录两个 LINE 账号的需求,例如分别用于工作与私人生活。Samsung 提供的「Dual Messenger(デュアルメッセンジャー)」功能,可以满足这一场景,操作简单、系统原生支持,安全性也更高。 什么是 Dual Messenger Dual Messenger 是 One UI 提供的官方多开功能,主要针对社交软件,允许在同一台设备上安装同一个应用的两份独立实例,从而登录不同账号。适用范围包括 LINE、Facebook Messenger、WhatsApp 等常见通讯工具。 在日本市场,官方依然保留了此功能,用户可在以下路径中找到: 设置 → 高级功能(便利功能)→ Dual Messenger(デュアルメッセンジャー) 如果在菜单中能够找到 Dual Messenger,说明系统本身支持多开,无需额外安装第三方分身应用。 关于「可以创建另一个分身应用」的提示 许多用户反馈曾看到「可以创建另一个分身应用」的提示,但在系统更新或重新设置后,这条提示有时会消失。实际上,这条提示并不是功能本身是否可用的关键,而是系统根据当前安装的支持应用实时生成的引导信息。 提示是否出现,通常取决于以下因素: 只要在「Dual Messenger」页面中能找到 LINE,就可以直接开启分身账号,无需依赖提示信息。 使用前的注意事项 总结 Galaxy One UI 的 Dual Messenger 功能为用户提供了官方、安全的双开解决方案。即使提示信息暂时消失,只要设置页面中仍显示支持的应用,就可以正常使用分身账号功能。 在确认机型和系统支持后,即可轻松管理两个 LINE 账号,兼顾生活与工作的不同需求,无需依赖第三方分身工具,整体体验更加稳定和安心。

使用 Docker 快速搭建 Whisper 网页音频转写服务(附登录保护思路)

在需要进行多语言音频转写时,OpenAI Whisper 模型提供了极高的准确率和多语言支持。为了更方便地部署到服务器并供多人使用,结合 Docker 容器技术可以快速搭建一个带网页界面的语音识别服务。 本教程以 whisper-webui 项目为核心,结合 NVIDIA GPU(如 GTX 1080)加速推理,构建一个可上传音频、自动或手动选择语言并返回转写结果的完整服务。 💡 准备条件 ✅ NVIDIA 驱动与 CUDA 配置检查 首先验证 GPU 是否正常识别。 nvidia-smi 如果显示显卡信息,说明驱动配置无误。 ✅ Docker 与 NVIDIA Container Toolkit 安装 在服务器上安装 Docker: curl -fsSL https://get.docker.com | bash 安装 NVIDIA Container Toolkit 以支持容器内调用 GPU: distribution=$(. /etc/os-release;echo $ID$VERSION_ID)curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey …