-
服务突然退出且日志只有 Killed,不要先盯着应用异常。用内核日志确认 OOM 受害进程,再区分主机内存压力与 cgroup 上限,最后通过峰值、限额和回归压测闭环。
-
Go 服务把日志写到固定文件后,文件会持续变大,直接删除又可能让进程继续写入已删除文件。本文从一个小型 Go 日志服务开始,配置 logrotate 的轮转、保留、压缩和 copytruncate,再用状态文件与实际文件大小验证配置是否真的生效。
-
应优先使用lscpu命令查看CPU信息,因其直接输出Socket(s)、Core(s)persocket、Thread(s)percore和CPU(s)四行关键字段,准确反映物理CPU数、物理核心总数、超线程状态及逻辑处理器总数,避免解析/proc/cpuinfo时因字段重复或混杂导致误判。
-
rm默认只删除文件,遇目录报错“Isadirectory”,必须加-r参数递归处理;单独-r会交互确认,故常与-f组合成rm-rf实现静默递归删除。
-
Linux系统安装软件包的核心方法是使用包管理工具,主流发行版分为两类:基于Debian的系统(如Ubuntu)使用APT和DPKG,基于RedHat的系统(如CentOS)使用YUM、DNF和RPM。1.安装前需更新软件包列表:Debian/Ubuntu用sudoaptupdate,RedHat/CentOS用sudoyumcheck-update或sudodnfcheck-update;2.安装软件包使用sudoaptinstall、sudoyuminstall或sudodnfinstall;3.卸载
-
确认pip安装:使用pip3--version检查,未安装则通过系统包管理器安装;2.安装包:pip3install包名,支持批量安装与--user参数;3.升级卸载:--upgrade升级包,uninstall卸载;4.查看与导出:list列出,show查看详情,freeze导出依赖至requirements.txt;5.推荐使用python3-mvenv创建虚拟环境,避免包冲突;6.激活环境后安装所需库,开发完毕deactivate退出。掌握这些可高效管理Python包。
-
ps-opid,ppid,comm-e命令可直接列出所有进程的PID、父进程PPID及命令名,通过筛选PPID等于目标PID即可准确获取其直接子进程,比pstree更可靠,尤其适用于僵尸进程或跨用户场景。
-
可使用lsusb、lsusb-t、lsusb-d/-s、usb-devices及dmesg五种命令组合排查USB设备:lsusb列基础信息,-t查拓扑与速率,-d/-s精准筛选,usb-devices看完整参数,dmesg捕获热插拔异常。
-
chmod命令用于修改Linux文件权限,通过符号模式或数字模式设置所有者、组和其他用户的读、写、执行权限,遵循最小权限原则,确保系统安全与操作正确性。
-
日志归档不应只是一条 tar 命令。本文给出一个 Bash 最小脚本:固定来源路径、按天生成压缩包和 SHA-256 清单、校验后清理过期归档,并说明失败时如何保留原日志。
-
Linux不默认记录文件读取行为,仅维护atime/mtime/ctime三时间戳;atime常被relatime或noatime禁用,不精确;需auditd审计框架才能准确追踪“谁在何时读何文件”。
-
直接运行groups命令可列出当前用户所属的所有组(主组和附加组),输出为一行空格分隔的组名;它读取/etc/group匹配用户UID,比id-gn更全面,后者仅返回主组名而遗漏附加组。
-
gitconfig--globalmerge.tool用于指定默认合并工具(如vimdiff、meld、kdiff3),使gitmergetool可调起图形化或终端界面辅助解决冲突,但不改变Git冲突检测逻辑,仅优化解决过程。
-
用getenforce查看当前模式(Enforcing/Permissive/Disabled),sestatus获取完整状态(策略类型、启用状态、版本);临时切换用setenforce0/1,永久修改需编辑/etc/selinux/config并重启。
-
systemd-analyzeblame显示的单位是毫秒,但仅统计unit从start到running的active时间,不包含依赖等待、I/O延迟等前置开销,因此实际耗时常被低估。