程序人生
李天琦
相互学习,相互交流!
展开
-
Linux上如何分析进程内存分配,优化进程内存占用大小
linux服务器上如何分析进程内存分布,优化进程占用内存大小原创 2024-07-31 18:15:17 · 43 阅读 · 0 评论 -
城市的冬
那么,你最喜欢你的城市那个季节呢?就像一幅静谧美好的画卷。原创 2023-12-25 21:21:06 · 409 阅读 · 0 评论 -
libvirt报错排障指南
*背景:**这里笔者收归纳了,云场景下,libvirt常见报错定位思路及临时规避方案。原创 2023-12-23 22:30:35 · 744 阅读 · 0 评论 -
CONFIG_SCSI_SMARTPQI内核配置项
CONFIG_SCSI_SMARTPQI内核配置项原创 2023-12-22 14:32:37 · 663 阅读 · 0 评论 -
qemu热升级方案设计
1.安装升级qemu rpm。2.host上做本机热迁移。原创 2023-12-18 23:24:29 · 474 阅读 · 0 评论 -
libvirt vcpu热插拔报错:failed to find appropriate hotpluggable vcpus
libvirt vcpu热插拔原创 2023-09-19 15:05:59 · 257 阅读 · 0 评论 -
linux服务器slab缓存回收方案设计
如何通过内核驱动去释放服务器上slab内存原创 2023-09-14 15:47:38 · 360 阅读 · 0 评论 -
信创环境 Phytium S2500 虚拟机最大内存规格测试
信创环境Phytium S2500 虚拟机最大内存规格测试原创 2023-09-03 00:39:50 · 447 阅读 · 0 评论 -
虚拟化工程(libvirt,qemu,kvm/kernel)Upstream代码仓库
虚拟化工程(libvirt,qemu,kvm/kernel)Upstream代码仓库原创 2023-09-02 23:28:35 · 89 阅读 · 0 评论 -
linux kernel函数text_poke_bp
kernel text_poke_bp函数实践原创 2023-07-13 12:21:02 · 382 阅读 · 0 评论 -
Linux 系统如何找到唤醒某个进程的源头
Linux 系统如何找到唤醒某个进程的源头原创 2023-06-09 11:43:06 · 796 阅读 · 0 评论 -
如何系统性学习IT技术
ITer个人驱动,成长log。原创 2023-06-06 12:50:48 · 435 阅读 · 0 评论 -
如何快速产生qemu coredump
linux环境下如何快速生成进程coredump原创 2023-02-02 10:27:27 · 291 阅读 · 0 评论 -
linux内核读文件代码分析
Linux用户态read api怎么与底层交互?原创 2023-01-30 00:02:14 · 493 阅读 · 1 评论 -
虚拟机逻辑卷删除失败
虚拟机逻辑卷删除失败原创 2022-12-14 23:25:51 · 1297 阅读 · 0 评论 -
云计算场景下,如何快速定位出虚拟机reboot/shutdown引发的故障
cvm子机关机/重启,轻则可能造成客户网络抖动,重则可能造成客户业务短暂不可用等异常,作为运维研发如何快速定位出cvm关机/重启触发原因尤为重要。原创 2022-12-01 22:53:24 · 749 阅读 · 0 评论 -
libvirt如何响应虚拟机事件
libvirt如何响应虚拟机事件,涉及虚拟机->qemu之间的交互,qemu与libvirtd的交互及libvirtd对event的处理原创 2022-10-31 21:26:56 · 451 阅读 · 1 评论 -
linux下如何避免rsyslog系统日志不停打印到console
避免rsyslog message不停打印到console控制台原创 2022-10-26 12:29:20 · 1532 阅读 · 0 评论 -
libvirt Qemu Monitor机制分析
libvirt与qemu通信机制分析原创 2022-10-20 17:58:23 · 698 阅读 · 0 评论 -
cannot delete inactive domain with nvram
cannot delete inactive domain with nvram原创 2022-10-17 19:41:38 · 424 阅读 · 0 评论 -
lscpu查看CPUS与cpu硬件支持的核心数不符
cpu硬件故障原创 2022-10-04 11:56:50 · 1347 阅读 · 0 评论 -
error : virNetDevSetMTU:471 : Cannot set interface MTU xx Invalid argument
libvirt创建虚拟机失败原创 2022-08-10 22:16:19 · 610 阅读 · 0 评论 -
虚拟机内存cache使用不起来,pagecache命中率低
虚拟机跨numa访问内存原创 2022-07-14 22:08:00 · 811 阅读 · 0 评论 -
虚拟化进阶学习思维导图
虚拟化进阶学习知识点原创 2022-07-12 11:01:56 · 673 阅读 · 1 评论 -
atop工具使用
atop工具原创 2022-07-03 22:41:06 · 2555 阅读 · 0 评论 -
qemu hmp“chardev-remove”删除设备报“Chardev charnet is busy”
qemu hmp chardev-remove 删除设备报错“is busy”原创 2022-06-14 20:11:27 · 246 阅读 · 0 评论 -
记录一次踩内存发生crash,coredump堆栈分析
背景:最近现网有多起云主机因发生panic而reboot,现针对踩内存case进行分析。云主机os版本ubuntu18.04 kernel-4.15.0-118-generic。堆栈分析如下WARNING: kernel relocated [820MB]: patching 100113 gdb minimal_symbol values KERNEL: vmlinux DUMPF原创 2022-05-23 08:15:39 · 607 阅读 · 0 评论 -
如何使用crash调试ubuntu coredump
背景最近现网云主机reboot频发,今天讲一下ubuntu coredump分析过程,针对kdump原理,配置,怎么触发及crash的安装(正常vm os已经安装crash)这里不在赘述,网上一大堆,文章直接切入主题。踩坑ubuntu系统中包采用debian管理,ubuntu kernel的内核符号文件(kernel debuginfo)并不是叫做xx–debuginfo–xx,有自己名字规范,第一次调试肯定会犯迷糊,命名规则是ubuntu-dbgsym-xx,dbgsym代替redhat下面的deb原创 2022-05-07 01:25:36 · 758 阅读 · 0 评论 -
如何在linux环境下打开xlsx文件
linux环境通过安装python3-openpyxl模块,操作xlsx文件#!/usr/bin/env python# -*- coding: utf-8 -*-from openpyxl import load_workbookimport sys #获取所有表格(worksheet)的名字sheets = wb.get_sheet_names()#第一个表格的名称sheet_first = sheets[0]#获取特定的worksheetws = wb.get_sheet_by_原创 2022-04-18 23:00:42 · 5198 阅读 · 0 评论 -
virsh iothreadadd 报错:error: cannot set CPU affinity on process 29998: Invalid argument
virsh iothreadadd 报错:error: cannot set CPU affinity on process 29998: Invalid argument背景:云主机挂载云盘,报错“error: cannot set CPU affinity on process 29998: Invalid argument”,为了提高云主机磁盘的读写效率,qemu-kvm通过iothread-native线程专门承载io读写【详细分析见下篇blog】。本文只分析virsh iothreadadd代码原创 2022-04-13 17:53:30 · 593 阅读 · 0 评论 -
查看x86 cpu睿频命令
查看cpu是否开启睿频,offline掉一些cpu核心后,查看cpu睿频是否升高?turbostat统计X86 处理器的频率、空闲状态、电源状态、温度等状态等[root@rootbird~]# turbostat如上图所示cpu开启了睿频,频率是3497。各个指标含义:AVG_MHz 执行周期数除以经过的时间;%Busy 处于“ C0”状态的时间百分比;Bzy_MHz cpu繁忙时的平均时钟频率(in “c0” state);TSC_MHz TSC在整个时间间隔内运行的平均M.原创 2022-04-06 21:29:47 · 2146 阅读 · 0 评论 -
libvirt卸载磁盘报错:multiple devices matching MAC address xxx found
libvirt卸载磁盘报错,报错原因:vm将同一个Mac attach到vmvirsh # domiflist 7 Interface Type Source Model MAC----------------------------------------------------------- vnet2 bridge virbr0 virtio 52:54:00:28:2d:5c vnet4 bridge virbr0 v原创 2022-03-31 12:07:27 · 540 阅读 · 0 评论 -
grep显示ps输出标题
背景:查找服务器上某个进程详细信息[ps:pid,ppid,内存使用,cpu使用等],常常会使用ps筛选对应的进程,正常情况过滤的信息不会显示ps输出的title。原创 2022-03-24 09:30:10 · 2090 阅读 · 0 评论 -
qemu-kvm设备hot-plug原理分析
前序qemu向外暴露的vm设备热拔插cmd是device_add,上层应用程序【libvirt】通过HMP(Human Monitor Protocol)和QMP(Qemu Monitor Protocol)协议与qemu进行交互。HMP是在QMP之上做了一层封装,供上层应用程序更友好直接通过cmd与qemu交互,而QMP是上层应用程序与qemu之间通过API交互的协议。代码分析以kvm3.0代码为例device_add代码入口,hmp.cvoid hmp_device_add(Monitor *原创 2022-03-19 22:42:52 · 707 阅读 · 0 评论 -
如何矫正linux 服务器RTC时间与os时间系统保持一致
1.为什么需要矫正?bmc时间与服务器os时间不一致给海量服务器管理中排查定位服务器故障带来麻烦,究其原因,bmc日志时间戳与os上日志时间戳存在不一致导致信息不同步。2.矫正上下文?bmc时间:服务器bmc会从bios获取硬件计时芯片(RTC)的时间同步自己的时间。os时间(1)系统初始时间:1.os安装的时候可以人为设置,设置完成后在os启动过程中会刷新到RTC中;2.未在os安装时设置,os启动过程会读取RTC(出厂设置时间)时间同步os时间。(2)系统时间同步 系统启..原创 2022-01-20 11:00:35 · 2323 阅读 · 0 评论 -
排查cpu feature 缺少x2apic原因
服务器cpu feature 缺少x2apic,经排查bios 未开x2apic mode配置,排查方法如下:1.缺少x2apic feature# cat /proc/cpuinfo grep x2apic2.发现bios未开启x2apic Mode# dmesg | grep x2apic如果开启,如下图所示:3.bios开启x2apic Mode,如下图所示:上图只是举例,具体情况根据自己的服务器bios而定。...原创 2022-01-19 21:24:03 · 1686 阅读 · 0 评论 -
os安全漏洞手动修复方案
本次方案设计主要针对手动安装部署漏洞修复包,方案主要思路提供一个shell脚本,该脚本支持本地漏洞rpm包的checklist、install,rollback。一、漏洞修复软件包目录结构:install.sh、README、rpm、rpmlist.conf。1、install.sh 是漏洞修复的主体文件,脚本中主要涉及rpm的升级安装、卸载、检查、日志文件的输出;2、rpm目录包含漏洞修复rpm包的源文件;3、rpmslist.conf文件记录rpm包去掉rpm后缀的...原创 2022-01-11 22:48:16 · 2434 阅读 · 0 评论 -
libvirt tls 热迁移数据支持国密(SM)加密
一、前言国密即国家密码局认定的国产密码算法,它是我国自主研发创新的一套数据加密处理系列算法。从SM1-SM4分别实现了对称、非对称、摘要等算法功能。在openssl1.3版本后支持自主研发国密算法。BabaSSL是一个现代的密码学和通信安全协议的基础库,诞生于阿里巴巴集团和蚂蚁集团内部。它支持TLS1.3+国密(RFC8998)、SM2单证书、SM2双证书。libvirt tls 热迁移默认支持x509 certificate 证书进行数据加密通...原创 2021-10-23 23:54:32 · 3329 阅读 · 0 评论 -
x86虚拟化入门学习
该ppt从全局视角旨在给虚拟化初学者提供概况学习框架,对虚拟化有一个全局认识,为深入学习虚拟化打下基础。https://download.csdn.net/download/qq_28693567/33519047原创 2021-10-20 23:47:35 · 138 阅读 · 0 评论 -
AMD EPYC CPU物理机之core(云主机最大可使用内核数)售卖机制 ---- NUMA and NPS使用
前言 amd cpucore的层级划分,层级1:socket,主板上cpu的slot;层级2: socket中划分为不同quadrants(象限),你可以理解为数学坐标的象限,每个quadrants中包含多个Core Complex Dies (CCDS);层级3:Core CompleXes (CCX),每个CCDS包含两个CCX;层级4:每个CCX包含4个cores;类比intel cpu的超线程;NPS 全称:Nodes Per Socket一、以amd rome cpu ...原创 2021-09-09 22:01:13 · 1234 阅读 · 0 评论