自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ding 的博客

真正的大师永远怀着一颗学徒的心 Code never lie!

  • 博客(150)
  • 资源 (1)
  • 收藏
  • 关注

原创 深入浅出MYSQL的事务隔离

深入浅出MYSQL的事务隔离Innodb 数据库引擎的数据库或表支持事务,MyISAM不支持事务,这也是MYSQL默认引擎换成Innodb的重要原因。MySQL 事务主要用于处理操作量大,复杂度高的数据,事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。ACID–事务四大特征事务是由一组SQL语句组成的逻辑处理单元,具有4个属性,通常简称为事务的ACID属性。原子性 Atomicity:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某

2020-09-26 21:58:21 627

原创 一文搞定c++多线程

一文搞定c++多线程c++11引入了用于多线程操作的thread类,该库移植性更高,并且使得写多线程变得简洁了一些。多线程头文件支持为了支持多线程操作,c++11新标准引入了一些头文件来支持多线程编程:<thread>:内部声明了 std::thread 类,用于创建多线程<atomic>:内部声明std::atomic 和 std::atomic_flag两个类,可以利用这两个类实现原子类型的各种特性,并且声明了一些原子操作函数<mutex>:提供了多种互

2020-09-07 23:59:58 2912

原创 Linux上的 fork 和 vfork 的区别

Linux 编程的 fork 和 vfork 的区别fork函数:一个进程可以调用fork函数创建一个新进程#include<unistd.h>pid_t fork(); //返回值:子进程返回0,父进程返回子进程ID,若出错返回-1需要注意的是fork函数调用一次返回两次,子进程的返回值是0,父进程的返回值是子进程的PID,因此通常利用这个区别去设置判断语句令父子进程执行不同的操作。现在的操作系统基本都采用了COW机制,因此不再是完全的拷贝父进程的所有内容了。将会对父进程区域进

2020-07-08 15:11:52 1283

原创 Linux进程间通信机制详谈

Linux进程间通信机制Unix系统提供的进程间通信机制主要有:管道和FIFO(命名管道)套接字信号信号量消息队列共享内存区管道pipe管道机制思想是在内存中创建一个共享文件,从而使得通信双方利用该共享文件进行交互。需要注意的是管道数据流动是单向的,是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道。管道只在具有公共祖先的两个进程之间使用,可以将管道视为一个独立的文件系统,管道在管道两侧的进程看来就是一个文件,只是这个文件只存在于内存中。一个进程写入管道的所有数

2020-06-27 17:54:01 1216

原创 Golang通过反射对结构体进行赋值和其他操作

Golang通过反射对结构体进行赋值和其他操作通过反射可以方便快捷地访问Golang的结构体字段,并进行赋值或其他操作。当两个结构体内容相同但名字不同时,如何快捷地进行赋值?【或者内容有交集,对交集部分进行赋值】package mainimport ( "fmt" "reflect")type My_struct struct { Name string Age int House string}type Another_struct struct { House

2020-12-19 21:17:48 4823 1

原创 从零开始学GO ---- 接口

从零开始学GO ---- 接口接口是一个编程规范,一组方法签名的集合。Go的接口是非侵入式的设置,一个具体类型实现接口不需要在语法上显式地声明,只要具体类型的方法集是接口方法集的超集,就代表该类型实现了接口,编译器在编译时进行方法的校验。接口定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节。在Go语言中接口(interface)是一种类型,一种抽象的类型。接口声明Go语言接口分为 接口字面变量类型和接口命名类型,用interface关键字声明接口字面变量类型的声明语法:i

2020-11-19 09:49:26 297

原创 从零开始学GO ---- 错误处理

从零开始学GO ---- 错误处理Go 语言通过内置的错误接口提供了非常简单的错误处理机制--------error类型接口。在这个接口类型的声明中只包含了一个方法Error。Error方法不接受任何参数,但是会返回一个string类型的结果。它的作用是返回错误信息的字符串表示形式。type error interface { Error() string}使用error类型的方式通常是:在函数声明的结果列表的最后,声明一个该类型的结果,同时在调用这个函数之后,先判断它返回的最后一个结果

2020-11-13 16:47:50 389

原创 从零开始学GO ---- 结构体和方法

从零开始学GO ---- 结构体和方法structGo语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。struct结构中的类型可以是任意类型,struct的存储空间是连续的,其字段按照声明时候的顺序存放(注意字段之间有对齐要求)struct有两种类型:struct类型字面量struct{ FeildName FeildType FeildName FeildType FeildNam

2020-11-12 15:12:50 205

原创 从零开始学GO ---- Go中函数的方方面面

从零开始学GO ---- Go中函数的方方面面在 Go 语言中,函数可是一等的(first-class)公民,函数类型也是一等的数据类型函数是一种类型,函数类型变量可以像其他类型变量一样使用,可以作为其他函数的参数或返回值,也可以直接调用执行函数支持多值返回支持闭包函数支持可变参数函数一个函数的定义包括如下几个部分:函数声明关键字func、函数名、参数列表、返回列表和函数体。【首字母的大小写决定了该函数在其他包的可见性:大写时其他包可见,小写时只有相同的包才可见】func funcNam

2020-11-09 16:26:34 142

原创 从零开始学GO ---- if-else语句、switch语句、for语句、标签和跳转

从零开始学GO ---- (3) if-else语句、switch语句、for语句、标签和跳转程序执行本质上来说就是两种模式:顺序和跳转顺序就是按照程序指令在存储器上的存放顺序逐条执行跳转就是遇到跳转指令就跳转到某处继续线性执行顺序在Go里面体现在从main函数开始逐条向下执行,跳转体现在包括goto语句、函数调用以及分支循环等。if-else语句if-else语句的通常写法:if 表达式1 { 分支1} else if 表达式2 { 分支2} else{ 分支

2020-11-09 09:13:00 315

原创 从零开始学GO ---- 指针、数组、切片、字典、结构体

从零开始学GO ---- (2) 指针、数组、切片、字典、结构体指针Go语言支持指针,指针的声明类型为* T,多级指针声明为** T,通过在变量名前加&获取变量的地址。不过区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。因此,实际上,对于Go中的指针,只需要记住两个符号:&(取地址)和*(根据地址取值)var a =11p:=&a //p是一个指针,*p和a的值都是11通过传入一个变量的地址,可以实现一个函数中改变该变量的目的:packa

2020-11-08 21:34:15 331

原创 从零开始学GO ---- 变量、常量、基本数据类型

从零开始学GO ---- (1) 变量、常量、基本数据类型第一个GO程序:hello world代码如下:package main // 声明 main 包,表明当前是一个可执行程序import "fmt" // 导入内置 fmt 包func main() { // main函数,是程序执行的入口 fmt.Printf("Hello World!") // 在终端打印 Hello World!}然后执行: go build hello.go 进行编译,之后便可以看到有一个exe文件,

2020-11-07 21:56:25 288

原创 剖析MYSQL锁机制

剖析MYSQL锁机制数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,数据是一种供许多用户共享的资源。数据库的锁机制,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。从对数据操作的类型分类:读锁(共享锁):针对同一份数据,多个读操作可以同时进行,不会互相影响写锁(排他锁):当前写操作没有完成前,它会阻断其他写锁和读锁根据加锁的范围

2020-09-23 12:11:32 257

原创 深入浅出MYSQL索引

深入浅出MYSQL索引索引(Index)是帮助MySQL高效获取数据的数据结构,索引的目的在于提高查询效率,就像字典和书籍的目录一样,有了目录,可以帮助你快速查找你需要的内容。可以理解为一个排好序的快速查找数据结构。也就是说,除了数据之外,数据库还维持着一些满足特定查找算法的数据结构,用来加速查询。优点:提高数据检索效率,降低数据库IO成本降低数据排序的成本,降低CPU的消耗缺点:索引本身就是一个数据结构,保存了主键和索引字段,并指向实体表的记录,所以也需要占用内存索引大大提高了查询速度

2020-09-20 15:41:12 271

原创 SQL的查询和更新流程详解

SQL的查询和更新执行流程MySQL 的基本架构示意图:从中可以看出:MySQL 可以分为 Server 层和存储引擎层两部分。Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。而存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。并且可以看出,不同的存储引擎共用一个 Server 层,也就是从

2020-09-19 15:07:03 1386

原创 一文实现玩转Git(新人必看)

一文实现玩转Git(新人必看)Git简介Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 【Linux之父】为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。集中式:版本库式集中放在中央服务器的。需要进行的时候,先从中央服务器中获得最新的版本,然后进行自己的工作,完成

2020-09-17 21:11:12 255

原创 一文搞定c++多线程同步机制

c++多线程同步机制同步与互斥现代操作系统都是多任务操作系统,通常同一时刻有大量可执行实体,则运行着的大量任务可能需要访问或使用同一资源,或者说这些任务之间具有依赖性。线程同步:线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。例如:两个线程A和B在运行过程中协同步调,按预定的先后次序运行,比如 A 任务的运行依赖于 B 任务产生的数据。线程互斥:线程互斥是指对于共享的操作系统资源,在各线程访问时具有排它性。

2020-09-08 21:02:05 13170 3

原创 深入探索网络IO模型

深入探索网络IO模型同步、异步、阻塞、非阻塞同步和异步,是针对调用结果是如何返回给调用者来说的,即调用的结果是调用者主动去获取的(比如一直等待recvfrom或者设置超时等待select),则为同步,而调用结果是被调用者在完成之后通知调用者的,则为异步(比如windows的IOCP)同步通信是指:发送方和接收方通过一定机制,实现收发步调协调。如:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式异步通信是指:发送方的发送不管接收方的接收状态,如:发送方发出数据后,不等接收方发回响应,

2020-08-25 10:51:48 217

原创 一文搞定移动语义和完美转发

一文搞定移动语义和完美转发浅拷贝和深拷贝简单的区分: 浅拷贝:按字节拷贝,如果是指针变量则直接对指针地址进行拷贝 深拷贝:对内容进行拷贝,如果有指针变量则另外申请地址拷贝所指内容写c++类时,如果类中有指针成员的话,通常我们都会格外注意,要注意拷贝构造函数的编写,因为如果简单的浅拷贝可能导致free一块未定义区域,是非法的。如下面的程序:#include<iostream>using namespace std;class HasPtrMem{public: Ha

2020-08-21 10:51:01 878 1

原创 红帽社区内容需要订阅访问

红帽社区内容需要订阅访问有些Linux问题搜索后到了redhat社区,结果无法浏览全部内容,需要订阅才行。不订阅的解决办法:成为redhat开发者,redhat开发者有访问全部内容的权限。注册地址:redhat开发者社区进入后完成注册,该mail最好是没有在redhat社区注册过的,也就是先注册开发者,再去redhat社区。去redhat社区用该开发者账号登录,然后完善信息,就可以访问全部内容了!...

2020-08-05 17:16:45 1747

原创 Linux网络基础与性能优化

Linux网络基础与性能优化文章目录Linux网络基础与性能优化网络模型:网络性能常用的网络性能指标:常用的网络性能监控工具:netstatifconfigroutesarnmappingiperfSOCKET性能优化TCP选项SO_LINGERSO_REUSEADDRTCP_NODELAY/TCP_CHORKTCP_DEFER_ACCPTSO_KEEPALIVESO_SNDTIMEO & SO_RCVTIMEO缓存大小backlog性能优化思路网络模型:常见的有OSI网络模型、TCP/IP网

2020-08-03 20:04:42 672

原创 编译到底是在干什么

编译到底是在干什么写c++都知道,写完程序要编译才能形成可执行文件,那么,编译到底是在干一件什么样的事呢?编译的例子写一个简单的helloworld.cpp程序#include<iostream>using namespace std;int main(){ cout<<"hello world!\n";}然后执行g++进行编译并运行:[root@VM-238-167-centos /]# g++ -o helloworld helloworld

2020-08-02 17:15:52 4482

原创 Linux内存闲谈

Linux内存闲谈内存映射Linux 内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的,所以进程可以方便地访问虚拟内存。虚拟地址空间的内部又被分为内核空间和用户空间两部分,不同字长(也就是单个 CPU 指令可以处理数据的最大长度)的处理器,地址空间的范围也不同。进程在用户态时,只能访问用户空间内存;只有进入内核态后,才可以访问内核空间内存。进程在用户态时,只能访问用户空间内存;只有进入内核态后,才可以访问内核空间内存。虚拟内存的大小可能远大于物理内存大小,因此,并不是每个虚拟内

2020-07-31 11:15:57 143

原创 Linux下检测程序内存泄漏

Linux下检测程序内存泄漏工具:valgrindLinux下载方式:yum install valgrind内存泄漏:程序在heap上分配了内存却没有释放写一个c语言内存泄漏程序:#include <stdlib.h>void f(){ int *t=malloc(sizeof(int)*10);}int main(){ int *array = malloc(10*sizeof(int)); f(); return 0;} 很简单的一个程

2020-07-24 15:42:11 669

原创 Linux性能优化 CPU性能调优

Linux性能优化 CPU性能调优(一)系统的平均负载可以通过uptime命令查看系统的平均负载: (top命令可以也可以,不过显示信息更多) $ uptime 10:35:08 up 23 days, 19:29, 3 users, load average: 0.11, 0.07, 0.06执行uptime命令,可以看到 当前时间、系统运行时间以及正在登录用户数。后面是过去 1 分钟、5 分钟、15 分钟的平均负载。通过man uptime看一下到底什么是平均负载:System

2020-07-23 15:27:01 1358

原创 TCP协议选项详解

TCP协议选项详解TCP头部的选项部分是为了TCP适应复杂的网络环境和更好地为应用层服务而进行设计的。SO_REUSEADDR通常一个端口释放后会等待两分钟(TIME_WAIT时间)之后才能再被使用,SO_REUSEADDR是让端口释放后立即就可以被再次使用。SO_REUSEADDR用于对TCP套接字处于TIME_WAIT状态下的socket,才可以重复绑定使用。server程序总是应该在调用bind()之前设置SO_REUSEADDR套接字选项。在TCP连接中,主动关闭方会进入TIME_WAIT状

2020-07-20 16:29:35 1238

转载 一文搞定 Linux性能调优之 IO

I/O相关术语索引节点简称为 inode,用来记录文件的元数据,比如 inode 编号、文件大小、访问权限、修改日期、数据的位置等。索引节点和文件一一对应,它跟文件内容一样,都会被持久化存储到磁盘中。所以记住,索引节点同样占用磁盘空间。目录项简称为 dentry,用来记录文件的名字、索引节点指针以及与其他目录项的关联关系。多个关联的目录项,就构成了文件系统的目录结构。不过,不同于索引节点,目录项是由内核维护的一个内存数据结构,所以通常也被叫做目录项缓存。索引节点是每个文件的唯一标志,而目录项维护

2020-07-17 11:47:19 1536 1

原创 深入剖析Linux的proc文件系统内容

深入剖析Linux的proc文件系统内容Linux系统上的/proc目录是一种文件系统,即proc文件系统。需要知道/proc是一种虚拟文件系统,存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,也可以通过更改其中某些文件来改变内核的运行状态。proc文件内容都存在于内存中,包括正在运行的进程信息以及系统配置等。查看proc目录的内容:其中的数字是指的是进程信息,是以pid为名字的目录,目录里包含了进程的各种信息。查看proc中一个进程的目录:

2020-07-15 12:09:30 324

原创 Linux内存CPU性能监视分析

Linux内存CPU性能监视分析top命令top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,可以看作一个任务管理器。前五行是总信息:行数信息1系统时间、已运行时间、当前用户数量、系统负载2总进程信息。包括总进程数量、以及各个状态的进程数量3总CPU信息。包括用户进程占用cpu比例、系统进程占用cpu比例、cpu空闲时间占比等信息4总内存信息。包括总内存、空闲内存、已用内存、缓存5总交换区信息。包括总交换区、空

2020-07-14 15:01:36 822

原创 快速上手tcpdump进行网络抓包分析

快速上手tcpdump进行网络抓包分析简介tcpdump是Linux中强大的网络数据采集分析工具之一。mannal手册的简介:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具,支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句进行筛选过滤。基本使用不指定任何参数,将抓取所有的包tcpdump监听特定的网卡:tcpdump -i eth0监听特定的主机:tcpdump host hostnam

2020-07-13 15:25:04 1979

原创 在Linux服务器和本地互传文件

在Linux服务器和本地互传文件用Xshell连接Linux服务器的情况:下载 rz 和 sz 工具命令:yum install lrzsz安装完成后,就可以通过rz和sz命令进行文件的互传了。rz 从本地上传至linux服务器:用sz filename将文件下载至本地:其他工具的话可以使用scp命令或者发mail的方式或者ftp方式。...

2020-07-13 11:38:25 959

原创 Linux常用性能分析工具--sar

Linux常用性能分析工具–sarsar是一个优秀的一般性能监视工具,它可以输出Linux所完成的几乎所有工作的数据。sar命令在sysetat rpm中提供。 sar可以显示CPU、运行队列、磁盘I/O、分页(交换区)、内存、CPU中断、网络等性能数据安装sar在Linux上,用yum安装,命令为:yum install sysstat安装完成后可以输入 sar -help查看是否安装成功。用sar进行性能分析sar的常用参数以及其含义:参数含义-A所有报告的总

2020-07-10 17:28:08 797

原创 ping和traceroute的原理以及实战并抓包分析

ping和traceroute的原理以及实战并抓包分析Ping程序ping程序是测试另一个主机是否可达的常用程序。 ping程序的原理就是发送一个ICMP报文给主机,等待返回的ICMP回显应答。【ICMP协议:用来在网络中传递包括网络不同、不可达等控制信息】基于ICMP的ping常用来检测网络是否可通以及大致估计网络的速度。通常用ping检测网路时,首先直接ping目标主机,如果不能ping通则大多数情况下说明网络是有问题的。通常检测网络可以按照这个顺序:先ping自己,再ping自己的网关,再pi

2020-07-10 11:13:47 2919

原创 用wireshark抓包来详细分析TCP三次握手和四次挥手过程

从wireshark抓包来分析TCP三次握手和四次挥手建议首先了解三次握手和四次挥手的过程再分析网络包信息:计算机网络传输层—TCP连接的建立和终止(详解三次握手四次挥手)首先开启wireshark监听网口,然后访问了google,输入简单的过滤规则进行过滤,抓包如下:通过筛选主机的IP和TCP协议得到了初步筛选结果,可以看到简要信息中,标记处有SYN报文,SYN报文是三次握手的标志性报文,因此标记的三个报文就是三次握手报文,对此进行详细分析。第一次握手报文分析:也就是说,第一个包中SYN位

2020-07-09 11:48:46 8511 2

原创 TCP提供的服务和首部详解

TCP提供的服务和首部详解TCP是一个面向连接的、可靠的字节流传输协议。面向连接:两个TCP应用在传输数据前必须建立连接。就像打电话一样。也就是在一个连接中传输的数据是有关系状态的,比如需要确定传输的对端正处在等待发送或接收的状态上可靠:主要是指数据在传输过程中不会被损坏或者丢失或乱序,保证数据可以正确到达。字节流:数据以字节流的形式传递给接收者的,没有固有的”报文”或”报文边界”的概念。即读取TCP数据就像从串行端口读取数据一样–无法预先得知在一次指定的读调用中会返回多少字节TCP实现可靠性

2020-07-08 17:15:25 3258 1

转载 Socket缓存究竟如何影响TCP的性能?

Socket缓存究竟如何影响TCP的性能?原文链接前言一直以来我们都知道socket的缓存会对tcp性能产生影响,也有无数文章告诉我们应该调大socke缓存。但是究竟调多大?什么时候调?有哪些手段调?具体影响究竟如何?这些问题似乎也没有人真正说明白。下面我们就构建起一个简单的实验环境,在两台虚拟机之间探究一下Socket缓存究竟如何影响TCP的性能?对分析过程不感兴趣的可以直接看最后的结论。影响Socket缓存的参数首先,我们要先来列出Linux中可以影响Socket缓存的调整参数。在proc目录

2020-07-07 16:33:14 1542

原创 硬链接和软链接(实践说明)

硬链接和软链接(实践说明)硬链接可以视为给一个文件增加了别名测试:创建一个文件old.file,创建一个硬连接 new.file可以看到两个文件是独立的,且信息一致。用stat查看两个文件的信息:可以看到两个文件信息完全相同,inode是一样的因此,硬连接可以视为一个别名,实际上对inode和data block是完全共享的,因此修改一个文件内容另一个内容也将改变,删除一个文件不影响其他文件。不能对目录建立硬连接,也不可以在不同的文件系统之间建立链接。软连接:创建一个软连接并查看内容

2020-07-01 20:29:18 497

原创 操作系统设计思想--主奴思想

操作系统设计思想–主奴思想对于操作系统而言,如何稳定可靠运行无疑是最重要的。目前的方案均为将用户进程和其他用户进程、将用户进程和操作系统进行分离。实现操作系统可以管理用户进程,但用户进程不能侵入内核,同时用户进程之间也不能互相干预。那么,在同一个cpu同一个指令集以及内存条等的情况下,如何实现该机制?这就是操作系统设计的一个思想,主奴思想,即特权思想。我们希望能够实现,操作系统可以访问以及管理应用程序,但应用程序之间不能够互相干预,同时应用程序的权限是有限的,即不可以干扰操作系统。因此,操作系统需要

2020-06-26 17:46:07 1437

原创 Linux内核学习--内存寻址

Linux内核学习–内存寻址内存地址使用 x86 处理器时,需要区分三种地址:逻辑地址(程序看到的地址):逻辑地址由一个段和偏移量组成。线性地址(虚拟地址):位于逻辑地址和物理地址之间物理地址:真实的地址,用于内存芯片级内存单元寻址逻辑地址-->[分段单元]-->线性地址-->[分页单元]-->物理地址分段可以给每一个进程分配不同的线性空间地址,而分页可以把同一线性空间映射到不同的物理空间段寄存器为了快速地找到段选择符,处理器提供了一些段寄存器cs:代码段

2020-06-25 21:10:09 149

原创 虚拟化环境配置

虚拟化环境配置检查硬件是否有 kvm 支持命令行输入egrep '(vmx|svm)' /proc/cpuinfo没有输出则说明没有硬件支持,需要在bios中检查能否开启虚拟化支持确定系统支持虚拟技术已经设置为允许。(这个很关键)重启服务器,进入BIOS设置界面,如果是centOS,启动系统时按F11。上下左右键,找到processorsetting,按enter键进入,找到VitualizationTechnology,设置为允许,即 Enabled。退出设置时保存在vmware的虚

2020-06-25 14:42:03 1055

Git入门指南(Git新人入门必看)

一文搞定Git入门,带你玩转Git。本pdf是详细的Git入门介绍,可以迅速带领新人入门Git,走向协同与开源的code之路。

2020-09-17

空空如也

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

TA关注的人

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