自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (4)
  • 收藏
  • 关注

原创 linux内存泄漏通用排查方法

一.概述Linux下经常遇到内存泄漏的问题,尤其对C/C++开发人员来说是一个亘古不变的话题,现在介绍解决Linux内存泄漏问题的方法层出不穷,让人眼花缭乱,但是作为开发人员应该从本质上了解为何会发生内存泄漏,在面对内存泄漏的问题时应当知道相关的技术细节,在解决问题时应当有个固定的排查思路,要善用Linux系统本身提供的工具来定位和解决,而不是一味的通过各种各样不常用的、不熟悉的工具来排查问题,这样不仅耗时,最终不一定能够解决问题。本文力求通过一种通用的方法来讲解如何在Linux下定位和解决内...

2022-02-23 13:49:54 14191

原创 自定义桥接网卡的网络配置

1. 背景 在推进统一软件架构国产化过程中,因安装arm虚拟机后对虚拟机联网功能的需要,从而研究了KVM方式安装的虚拟机的网络配置方法。2. 网桥(Bridge)的拓扑结构 KVM安装的ARM虚拟机会在宿主机HOST上自动生成虚拟网卡vnet0,或者tap0,我这里虚拟机安装后主机上自动生成的虚拟网卡是tap0,如果启动多台虚拟机,则生成的虚拟网卡的编号顺序为tap0,tap1,tap2,...tapN。如下图2.1所示。......

2022-02-21 11:27:20 2406

原创 动态跟踪工具BCC的使用分享

动态跟踪工具BCC的使用分享前言在Linux下调试软件需要用到一些系统工具来帮助开发人员对软件进行分析调试,例如 GDB就是经常使用的一个CORE分析工具,其主要用来分析非法内存访问、堆栈跟踪、线程调试等问题,GDB一般只能用来进行用户态的调试,其它的诸如内存泄漏、 缓存分析、死锁等问题则需要借助跟踪工具进行分析调试。虽然valgrind也提供了内存泄漏的分析功能,但其使用上存在不便,valgrind需要主动拉起进程进行跟踪调试,而对于我们服务器上运行的通用组件,如果此时观察到了可疑的内存泄漏或者

2022-02-18 11:18:59 4077

原创 软件调试过程中的函数参数确定

问题背景在项目开发过程中经常需要进行软件调试,而软件调试过程中我们经常需要关注的是所打断点函数的入参是什么,尤其在调试现场问题时在没有调试信息的情况下如何获取函数参数是我们必须要掌握的技能,我在项目开发和现场问题的调试过程中使用下面所述方法来观察函数参数,这种方法经常能够使我解决遇到的问题,因此总结成此经验案例文档供大家参考。知识点CPU架构的基本知识 进程运行时的栈知识 函数调用时的参数传递1 32位下参数传递方法2 64位下参数传递方法如何从汇编代码查找相应源代码CPU架构的..

2022-02-18 11:06:23 486

原创 qumu方式安装虚拟机

方法一:qemu-system-aarch64 -m 2048 -cpu cortex-a57 -smp 2 -M virt -bios QEMU_EFI.fd -nographic -drive if=none,file=ubuntu-19.04-server-arm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=centos7-arm64.img

2022-02-18 11:02:51 883

原创 Qemu虚拟化推介

一 QEMU介绍QEMU是一套由法布里斯·贝拉(Fabrice Bellard)所编写的以GPL许可证分发源码的模拟处理器,在GNU/Linux平台上使用广泛。0.9.1及之前版本的qemu通过使用kqemu加速器能模拟至接近真实电脑的速度,在qemu1.0之后的版本,都无法使用kqemu,主要利用qemu-kvm加速模块,并且加速效果以及稳定性明显好于kqemu。QEMU有两种主要运作模式:* User mode模拟模式,亦即是用户模式。QEMU能启动那些为不同中央处理器编译的Linu..

2022-02-18 11:01:56 1743

原创 linux system函数执行命令返回错误码256问题排查

开发了一个公共库管理平台,后台业务代码上传库文件需要执行Jfrog命令,手动执行业务代码调用jfrog能够正常上传,但是后台服务通过守护进程启动后system函数返回256,为排查问题,代码中将jfrog返回信息写入日志中,如下:std::stringzipfile="/root/hikpublic/server/bin/tmp/public/"+strReleaseid+"/"+strReleaseid+".zip";std::stringunzipfile......

2021-09-07 15:03:16 4791

转载 成为高手必须弄懂的问题,C++语言中类在内存中是如何存储的?

https://baijiahao.baidu.com/s?id=1653384309305389312&wfr=spider&for=pc

2020-03-24 21:35:36 127

转载 QEMU -smp参数解释及在libvirt中的设置(多CPU 多核心 多线程)

最近给一台安装了Windows Server 2003标准版的虚拟服务器分配了八个虚拟处理器,在设备管理器中,可以查看到已成功识别所有处理器,但是任务管理器的性能标签页中看到仅有四个被使用,查阅了一下微软官方的文档,发现原来标准版最多只能使用四个处理器。解决问题的方向可以明确:让QEMU从分配多CPU,单CPU核心,改为分配单或多CPU,多CPU核心。QEMU-smp参数QEM...

2019-10-28 19:32:38 8511

转载 Linux ARM64 升级内核方法

1.下载内核源码下载网址为 https://www.kernel.org/ ,下载命令:# wgethttps://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.80.tar.xz2.解压源代码# tar -xvf linux-4.19.80.tar.xz# cd linux-4.19.803.更新系统并安装...

2019-10-26 15:07:07 4101

转载 libvirt kvm 虚拟机上网 – Bridge桥接

目录[hide]1Bridge桥接原理 2在host机器配置桥接网络 2.1查看网卡是否工作 2.2备份network-scripts网络脚本文件 2.3进入network-scripts目录 2.4为桥接新建配置文件 2.5编辑bridge网桥配置文件 2.6重启网络服务 2.7禁用网络过滤器 2.8重新加载kernel参数 2.9...

2019-10-24 17:11:32 916

转载 Linux 虚拟网络设备详解之 Bridge 网桥

Bridge 是什么同 tap/tun、veth-pair 一样,Bridge 也是一种虚拟网络设备,所以具备虚拟网络设备的所有特性,比如可以配置 IP、MAC 等。除此之外,Bridge 还是一个交换机,具有交换机所有的功能。对于普通的网络设备,就像一个管道,只有两端,数据从一端进,从另一端出。而 Bridge 有多个端口,数据可以从多个端口进,从多个端口出。Bridge 的这个...

2019-10-24 09:46:54 518

转载 基于Linux命令行的KVM-QEMU虚拟机搭建

转:https://zhuanlan.zhihu.com/p/74537292练习bug时长两年半的程序员前言服务器安装kvm的时候,如果没有安装桌面(一般不会安装,节省资源),就需要使用命令去创建虚拟机。要支持 KVM,Intel CPU需要 vmx 或者 AMD CPU 需要svm 扩展。环境介绍操作系统:CentOS Linux release 7.5.1804 (Cor...

2019-09-29 21:43:24 492

qemu.rar~~~~~~

qemu安装Linux操作系统指南,说明虚拟机的安装步骤和网络配置。

2019-10-15

linux常用命令脚本.txt

Linux常用命令 # 按 VmSwap 使用量对进程排序,输出进程名称、进程 ID 以及 SWAP 用量 $ for file in /proc/*/status ; do awk '/VmSwap|Name|^Pid/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 3 -n -r | head dockerd 2226 10728 kB docker-containe 2251 8516 kB snapd 936 4020 kB networkd-dispat 911 836 kB polkitd 1004 44 kB # 使用 grep 查找 Pss 指标后,再用 awk 计算累加值,计算所有进程使用的物理内存量 $ grep Pss /proc/[1-9]*/smaps | awk '{total+=$2}; END {printf "%d kB\n", total }' 391266 kB # 查看当前进程打开了多少个文件句柄呢 lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more # 禁止接收从 DNS 服务器发送过来并包含 googleusercontent 的包 iptables -I INPUT -p udp --sport 53 -m string --string googleusercontent --algo bm -j DROP # 丢掉源地址为192.168.0.2的网络包 $ iptables -I INPUT -s 192.168.0.2 -p tcp -j REJECT # 限制 syn 并发数为每秒 1 次 $ iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT # 限制单个 IP 在 60 秒新建立的连接数为 10 $ iptables -I INPUT -p tcp --dport 80 --syn -m recent --name SYN_FLOOD --update --seconds 60 --hitcount 10 -j REJECT

2019-05-30

Linux内存管理

介绍Linux内存管理的常见方法,分析linux内存泄漏原因和排查方法。

2019-01-11

VS番茄工具

微软VS插件,VS番茄助手,开发简便,内附注册机,可注册。

2018-09-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除