<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[hallå的博客]]></title><description><![CDATA[我可以选择放弃，但是不会放弃选择。]]></description><link>https://blog.youkuaiyun.com/weixin_28712713</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_28712713]]></copyright><item><title><![CDATA[VMware虚拟机网络模式之 Host-Only（仅主机模式）]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/103527510</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/103527510</guid><author>weixin_28712713</author><pubDate>Fri, 13 Dec 2019 15:04:12 +0800</pubDate><description><![CDATA[三、Host-Only（仅主机模式）

Host-Only模式其实就是NAT模式去除了虚拟NAT设备，然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的，Host-Only模式将虚拟机与外网隔开，使得虚拟机成为一个独立的系统，只与主机相互通讯。其网络结构如下图所示：



通过上图，我们可以发现，如果要使得虚拟机能联网，我们可以将主...]]></description><category></category></item><item><title><![CDATA[Vmware虚拟机网络模式之NAT模式]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/103527459</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/103527459</guid><author>weixin_28712713</author><pubDate>Fri, 13 Dec 2019 15:02:25 +0800</pubDate><description><![CDATA[二、NAT（地址转换模式）

刚刚我们说到，如果你的网络ip资源紧缺，但是你又希望你的虚拟机能够联网，这时候NAT模式是最好的选择。NAT模式借助虚拟NAT设备和虚拟DHCP服务器，使得虚拟机可以联网。其网络结构如下图所示：



在NAT模式中，主机网卡直接与虚拟NAT设备相连，然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上，这样就实现了虚拟机联网。那么我们会觉得很奇怪...]]></description><category></category></item><item><title><![CDATA[VMware虚拟机网络模式之桥接模式]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/103527439</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/103527439</guid><author>weixin_28712713</author><pubDate>Fri, 13 Dec 2019 15:01:13 +0800</pubDate><description><![CDATA[vmware为我们提供了三种网络工作模式，它们分别是：Bridged（桥接模式）、NAT（网络地址转换模式）、Host-Only（仅主机模式）。

打开vmware虚拟机，我们可以在选项栏的“编辑”下的“虚拟网络编辑器”中看到VMnet0（桥接模式）、VMnet1（仅主机模式）、VMnet8（NAT模式），那么这些都是有什么作用呢？其实，我们现在看到的VMnet0表示的是用于桥接模式下的虚拟交换机...]]></description><category></category></item><item><title><![CDATA[vmware+CentOS7安装KVM虚拟机详解]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/102163607</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/102163607</guid><author>weixin_28712713</author><pubDate>Sat, 05 Oct 2019 18:52:35 +0800</pubDate><description><![CDATA[1.检测是否支持KVM

KVM 是基于 x86 虚拟化扩展(Intel VT 或者 AMD-V) 技术的虚拟机软件，所以查看 CPU 是否支持 VT 技术，就可以判断是否支持KVM。有返回结果，如果结果中有vmx（Intel）或svm(AMD)字样，就说明CPU的支持的。

注:如果是在vmware上跑的话，需要勾选虚拟化引擎：



用以下命令查看是否支持：


#cat /proc/cpui...]]></description><category></category></item><item><title><![CDATA[python manage.py runserver 0.0.0.0:8000运行成功，但是浏览器无法访问Django服务]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/101452303</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/101452303</guid><author>weixin_28712713</author><pubDate>Thu, 26 Sep 2019 16:39:12 +0800</pubDate><description><![CDATA[首先上截图：可以看到在windows cmd中执行python manage.py runserver 0.0.0.0:8000已经成功运行Django项目，但是在浏览器中输入127.0.0.1:8000却无法访问Django服务，这是为什么呢？





我先是试了一下几种方法：
1、关闭防火墙
2、检查代理
3、检查8000端口是否被占用
经过测试，以上三种情况均不是造成无法访问的原因。

最...]]></description><category></category></item><item><title><![CDATA[虚拟机上dpdk报错只EAL: Error - exiting with code: 1 Cause: Cannot configure device: err=-22, port=0]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/100852909</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/100852909</guid><author>weixin_28712713</author><pubDate>Sun, 15 Sep 2019 13:49:00 +0800</pubDate><description><![CDATA[dpdk l3fwd测试问题1：


EAL: Error - exiting with code: 1   
Cause: Cannot configure device: err=-22, port=0



解决：

如果使用的是e1000网卡出现这样的情况 仅需将e1000网卡换成支持多队列的网卡即可.

1.关闭虚拟机

2.打开虚拟机存储路径



3.用文本编辑器（尽量不要用记事本）...]]></description><category></category></item><item><title><![CDATA[DPDK-实战之skeleton(basicfwd)]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/100849196</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/100849196</guid><author>weixin_28712713</author><pubDate>Sun, 15 Sep 2019 10:50:59 +0800</pubDate><description><![CDATA[0x01 缘由

  继续学习DPDK示例，主要熟悉每个环节和设计理念，今天要学习的是一个相对简答的服务，仅仅从一个网口抓取数据包转发到另外一个网口，这样做双向转发，相当于桥的功能。其他基础业务都不做。

0x02 直接上源码分析


#include &lt;stdint.h&gt;
#include &lt;inttypes.h&gt;
#include &lt;rte_eal.h&gt...]]></description><category></category></item><item><title><![CDATA[DPDK-实战之helloworld]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/100828756</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/100828756</guid><author>weixin_28712713</author><pubDate>Sat, 14 Sep 2019 15:56:18 +0800</pubDate><description><![CDATA[这个是最简单的使用dpdk开发套件的例程。

源码分析：



#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &lt;stdint.h&gt;
#include &lt;errno.h&gt;
#include &lt;sys/queue.h&gt;
//以上头开发环境glibc的相关头文件
#include &lt;...]]></description><category></category></item><item><title><![CDATA[dpdk中文-DPDK学习路线图]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/100824434</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/100824434</guid><author>weixin_28712713</author><pubDate>Sat, 14 Sep 2019 11:19:33 +0800</pubDate><description><![CDATA[接触DPDK也有快一年的时间了；因为项目中需要使用，所以一直在操练；讲说说一般DPDK的学习路线图；因为DPDK至今也没有一本靠谱的教程，所以决定亲自下手；



其实学完前面4个部分呢，基本上就算是入门DPDK了，应该至少看着别人的代码可以修改的程度了；后续我也将以这个为路线图，出系类博客教程，目标不求通过看我的博客成为大神，但可以轻松入门

...]]></description><category></category></item><item><title><![CDATA[绝对干货！初学者也能看懂的DPDK解析]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/100823422</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/100823422</guid><author>weixin_28712713</author><pubDate>Sat, 14 Sep 2019 10:31:08 +0800</pubDate><description><![CDATA[一、网络IO的处境和趋势

从我们用户的使用就可以感受到网速一直在提升，而网络技术的发展也从1GE/10GE/25GE/40GE/100GE的演变，从中可以得出单机的网络IO能力必须跟上时代的发展。

1.传统的电信领域

IP层及以下，例如路由器、交换机、防火墙、基站等设备都是采用硬件解决方案。基于专用网络处理器（NP），有基于FPGA，更有基于ASIC的。但是基于硬件的劣势非常明显，发生Bu...]]></description><category></category></item><item><title><![CDATA[虚拟机上centos7下安装DPDK（通过dpdk-setup.sh安装）]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/100804163</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/100804163</guid><author>weixin_28712713</author><pubDate>Fri, 13 Sep 2019 17:36:54 +0800</pubDate><description><![CDATA[安装dpdk有两种方式：第一种命令；第二种使用dpdk-setup.sh。本文讲解通过dpdk-setup.sh来安装。

1.下载dpdk

进入dpdk官网，下载想要的版本：http://core.dpdk.org/download/

2.安装依赖的库

yum install -y kernel-devel kernel-headers

yum install kernel.x86_6...]]></description><category></category></item><item><title><![CDATA[Linux C++ 程序占cpu%问题排查]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/100535055</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/100535055</guid><author>weixin_28712713</author><pubDate>Wed, 04 Sep 2019 11:13:33 +0800</pubDate><description><![CDATA[inux C++ 程序占cpu%问题排查
缘起
对一个服务(room_status_server)进行了一些优化，并顺便修改了部分配置文件，重启后用top命令观察，发现该程序cpu几乎占到了100%。




初步判断
发现这个问题后，想到前两天还上线了该服务，立马去线上看了看，还好线上是正常的。那么问题肯定是刚才的修改导致的！
把线上的版本拿过来运行，还是cpu几乎占到了100%，那很大可能是配...]]></description><category></category></item><item><title><![CDATA[GDB多线程多进程调试]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/100528199</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/100528199</guid><author>weixin_28712713</author><pubDate>Tue, 03 Sep 2019 21:31:15 +0800</pubDate><description><![CDATA[gdb多线程调试

gdb提供的多线程调试工具

新线程创建自动提醒
	thread thread-id实现不同线程之间的切换
	info threads查询存在的线程
	thread apply [thread-id-list] [all] args在一系列线程上执行命令
	线程中设置指定的断点
	set print thread-events控制打印线程启动或结束是的信息
	set sched...]]></description><category></category></item><item><title><![CDATA[在Linux上分析死锁问题的简单方法]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/100527236</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/100527236</guid><author>weixin_28712713</author><pubDate>Tue, 03 Sep 2019 20:42:30 +0800</pubDate><description><![CDATA[死锁 (deallocks)： 是指两个或两个以上的进程（线程）在执行过程中，因争夺资源而造成的一种互相等待的现象，若无外力作用，它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁，这些永远在互相等待的进程（线程）称为死锁进程（线程）。 由于资源占用是互斥的，当某个进程提出申请资源后，使得有关进程（线程）在无外力协助下，永远分配不到必需的资源而无法继续运行，这就产生了一种特殊现象死锁。
...]]></description><category></category></item><item><title><![CDATA[Libnids读书笔记]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/100180191</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/100180191</guid><author>weixin_28712713</author><pubDate>Sun, 01 Sep 2019 09:34:17 +0800</pubDate><description><![CDATA[一、当日工作（或学习）内容及进展情况（以条目式陈述，必要时配图说明） Libnids读书笔记： Libnids(Library Network Intusion Detection System)网络入侵检测开发包，基于libpcap和libnet开发，是仿照linux内核中的TCP/IP协议部分而实现的。 libnids主要功能包括捕获网络数据包、IP碎片重组、TCP数据流重组以及端口扫描攻击检测和异常数据包检测等。IP碎片重组是libnids的一个重要内容，是仿照linux内核中的IP重组而实现的，所以]]></description><category></category></item><item><title><![CDATA[centos7安装libpcap&libnids]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/100180172</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/100180172</guid><author>weixin_28712713</author><pubDate>Sun, 01 Sep 2019 09:31:33 +0800</pubDate><description><![CDATA[说明：直接用yum安装的libpcap会在libnids安装的时候检查有问题，所以需要下载安装包来安装！ 1. 安装libpcap ① 下载软件包libpcap-1.0.0.tar.gz 下载地址：http://www.tcpdump.org/release/libpcap-1.0.0.tar.gz ② 解压软件包：tar zxf libpcap-1.0.0.tar.gz ③ 进入解压后的目录，输入命令行： ./configure 报错：configure: error: no acceptable C c]]></description><category></category></item><item><title><![CDATA[vim常用命令总结]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/100152067</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/100152067</guid><author>weixin_28712713</author><pubDate>Fri, 30 Aug 2019 10:27:02 +0800</pubDate><description><![CDATA[在命令状态下对当前行用== （连按=两次）, 或对多行用n==（n是自然数）表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n==排版，相当于一般IDE里的code format。使用gg=G可对整篇代码进行排版。







vim 选择文本，删除，复制，粘贴 



文本的选择，对于编辑器来说，是很基本的东西，也经常被用到，总结如下：
v  从光...]]></description><category></category></item><item><title><![CDATA[TCP的三次握手与四次挥手理解及面试题（很全面）]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/99580733</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/99580733</guid><author>weixin_28712713</author><pubDate>Wed, 14 Aug 2019 16:25:17 +0800</pubDate><description><![CDATA[本文经过借鉴书籍资料、他人博客总结出的知识点，欢迎提问



序列号seq：占4个字节，用来标记数据段的顺序，TCP把连接中发送的所有数据字节都编上一个序号，第一个字节的编号由本地随机产生；给字节编上序号后，就给每一个报文段指派一个序号；序列号seq就是这个报文段中的第一个字节的数据编号。

确认号ack：占4个字节，期待收到对方下一个报文段的第一个数据字节的序号；序列号表示报文段...]]></description><category></category></item><item><title><![CDATA[第5章 C++内存模型和原子类型操作（C++并发编程实战）]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/93839412</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/93839412</guid><author>weixin_28712713</author><pubDate>Wed, 03 Jul 2019 07:28:34 +0800</pubDate><description><![CDATA[5.2 C++中的原子操作和原子类型

原子操作时不可分割的操作。在系统的所有线程中，你是不可能观察到原子操作完成了一半这种情况；它要么做了，要么就没有做，只有这两种可能。如果从对象读取值的加载操作时原子的，那么对这个对象的所有修改操作也是原子的；要么加载操作得到的值时对象的初始值，要么是某次修改操作存入的值。

5.2.1 标准原子类型

标准原子类型定义在头文件&lt;atomic&gt;中。...]]></description><category></category></item><item><title><![CDATA[4.4 使用同步操作简化代码（C++并发编程实战）]]></title><link>https://blog.youkuaiyun.com/weixin_28712713/article/details/93454041</link><guid>https://blog.youkuaiyun.com/weixin_28712713/article/details/93454041</guid><author>weixin_28712713</author><pubDate>Wed, 26 Jun 2019 07:50:27 +0800</pubDate><description><![CDATA[4.4.1 使用期望的函数化编程

术语函数化编程（functional programming）引用于一种编程方式，这种方式中的函数结果只依赖于传入函数的参数，并不依赖外部状态。

函数化编程的好处，并不限于那些将纯粹作为默认方式的语言。C++是一个多范型的语言。在C++11中这种方式要比C++98简单许多，因为C++11支持lambda表达式，还加入了boost和TR1中的std::bind，...]]></description><category></category></item></channel></rss>