克隆虚拟机后启动网卡失败的解决方法
一、概述
克隆一个虚拟机之后,开启网卡报错:
Device eth0 does not seem to be present, delaying initialization.[FAILED]网上百度之后解决了,原理就不分析了,网上多的是,也不想去弄清楚原理,记录下解决方法。
克隆一个虚拟机之后,开启网卡报错:
Device eth0 does not seem to be present, delaying initialization.[FAILED]网上百度之后解决了,原理就不分析了,网上多的是,也不想去弄清楚原理,记录下解决方法。
X-Forwarded-For, X-Real-IP, remote_addr是http协议中用来表示客户端地址的请求头。
X-Forwarded-For和X-Real-IP只有请求存在代理时才有值,而remote_addr一直存在。
X-Forwarded-For:记录代理服务器的地址,每经过一个代理,该字段会加上一个记录。格式形如:1.1.1.1, 2.2.2.2X-Real-IP:也是用来记录服务器的地址,但是和上面的不同,它不把记录添加到结尾,而是直接替换remote_addr:上一个客户端连接的地址,不存在代理就表示客户端的地址,存在代理就表示最后一个代理服务器的地址标准库类型string 用来表示可变长的字符串序列,使用它需要包含string 头文件。
作为标准库的一部分,它被定义在std 命名空间中,使用前需要加上以下代码:
#include <string>
using std::string; +
8 rows in set (0.00 sec)
## 二、授权
grant [privileges] on db.table to ''user''@''host''
// 授予用户所有权限
grant all privileges on . to ''maqian''@''%''
## 三、修改用户密码
-- 当前用户
set password = password(''123456'')
-- 非当前用户
set password for ''user''@''host'' = password(''123456'')
## 四、取消授权
revoke [privilege] on db.table from ''user''@''host''
## 五、删除用户
drop user ''user''@''localhost''
下列C/C++代码的输出结果是什么:
#include <stdio.h>
int i = 1;
int main(){
int i = i;
printf("%d", i);
return 0;
} 给定一个数n ,求该数转换成二进制后包含的1 的个数。
非常老也是非常经典的一个面试题,第一次面试的时候就遇到了,这里只要把n 和n-1 循环按位与就可以了。
### 3.web
以web形式查看,在web服务的时候经常被用到,需要安装gv工具,官方网页:http://www.graphviz.org/。
linux用户使用`yum install graphviz`安装即可,当然,纯命令行界面是不能查看的。
windows用户下载`msi`包安装后需要把安装目录下的`bin`目录添加到环境变量才行。

如果没有安装gv工具,使用会报错:
> Cannot find dot, have you installed Graphviz?
>
> exec: "firefox": executable file not found in $PATH
### 4.其他
其他的都是以不同形式展现出来,大同小异,以后有时间再测试。
## 四、web服务器监测
在web服务器中监测只需要在`import`部分加上监测包即可:
import(
_ "net/http/pprof")
当服务开启后,在当前服务环境的`http://ip:port/debug/pprof`页面可以看到当前的系统信息:

点击查看具体的信息:

通常可以对服务器在一段时间内进行数据采样,然后分析服务器的耗时和性能:
go tool pprof http://:/debug/pprof/profile
使用该命令后会对服务进行30s的采样,这段时间内可以尽量多使用web服务,生成多一些统计数据。
go tool pprof http://127.0.0.1:8080/debug/pprof/profile
Fetching profile from http://127.0.0.1:8080/debug/pprof/profile
Please wait... (30s)
Saved profile in \pprof\pprof.127.0.0.1.samples.cpu.001.pb.gz
Entering interactive mode (type "help" for commands)
(pprof) top
3870ms of 4800ms total (80.62%)
Dropped 37 nodes (cum <= 24ms)
Showing top 10 nodes out of 66 (cum >= 110ms)
flat flat% sum% cum cum%
1230ms 25.62% 25.62% 1300ms 27.08% runtime.mapaccess1_faststr
860ms 17.92% 43.54% 860ms 17.92% runtime.memclrNoHeapPointers
810ms 16.88% 60.42% 1010ms 21.04% runtime.scanobject
190ms 3.96% 64.38% 190ms 3.96% runtime.heapBitsForObject
160ms 3.33% 67.71% 190ms 3.96% strconv.ParseInt
140ms 2.92% 70.62% 1720ms 35.83% business_sets/haoxingdai_qiangdan/server/handler.makeOrder4Replace
140ms 2.92% 73.54% 1990ms 41.46% runtime.mallocgc
120ms 2.50% 76.04% 120ms 2.50% runtime.heapBitsSetType
110ms 2.29% 78.33% 1680ms 35.00% runtime.mapassign
110ms 2.29% 80.62% 110ms 2.29% runtime.memhash
使用`web`命令后会生成采样时间内每个系统调用的耗时分析,可以用来分析web服务的响应时间都用在哪了:
 “挂起”是虚拟机里面常用的操作,也是一个非常实用的功能。挂起和关机不同,挂起是把当前的系统状态都封存起来,相当于游戏里面的存档一样,下次直接从这里开始。而关机和平常的机器一样,关闭系统。
通常关闭虚拟机都会选择“挂起”而不是“关机”,因为关机了下次开启要等待一段时间,而挂起则不用,一来方便,二来省事。
但挂起后的一个问题是:系统被挂起后,系统的时间也被暂停,导致下次开启虚拟机时间不准确,需要手动输入命令同步。
每次都这样很麻烦,这里有个简单的方法可以解决这个问题。
准备上传一些照片到博客上来,但是现在手机像素都比较牛逼,一张照片有3-5M。
博客开了CDN加速,一个页面二十张图的话加载一次差不多就是100M流量了,巨额的流量费用有点消耗不起。
所以只能把图片缩小了,大部分的P图软件都有这个功能,但是美中不足的是都只能一张一张缩小,不能批量缩小(虽然美图秀秀有个批量修改尺寸大小的功能,但是尺寸缩小了图片看起来就不舒服,拒绝),这样明显是不行的。
最后百度一番,使用
PhotoShop的录制动作功能完成。
窗口-动作弹出一个动作框。