最近在服务器中用KVM虚拟机折腾Linux Mint, 因为对KVM并不是很熟悉,所以折腾了挺久。这里记录一下,遇到的其中一个问题。 系统的安装其实挺简单,但是在安装好之后发现虚拟机的最大分辨率也只有1024X768,无法再调整到更高。 经过一番查询之后,才知道分辨率与创建虚拟机时所设置的显存有关。 默认情况下,显存设置为16MB,所以分辨率最高只能到1024X768,具体代码如下: <video> <model type='cirrus' vram='16384' heads='1' primary='yes'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> 我们需要将vram调整得大一些,但是具体应该调整为多少呢? 以4K分辨率(3840 x 2160)为例: 3840 x 2160 = 8294400 # 总共像素点 8294400 x 32 = 265420800 # 每个像素点占 4 个字节 265420800/8 = 33177600 # 转为 Byte 单位 33177600 /(1024 * 1024)= 31.

阅读全文

在做一个监控脚本时,需要将结果输出到一个文件,然后另外一个脚本来读取该文件的内容作为结果进行判断。 经过测试发现,shell中的命令行重定向功能有个特点,即在命令一开始执行时,就已开始创建了对应的文件,下面举个例子来进行说明: # test.py > /tmp/test.log 这条命令中,假如该命令执行总共需要30秒,而在该命令一开始执行时,/tmp/test.log就已创建,而不是等到命令执行完成再创建。而这时如果有执行频率较高,在30秒内去检查/tmp/test.log文件内的内容的话,有可能是检查不到正确的内容的。 所以我们在使用重定向功能时需要注意到这点,创建文件的时间是否就是你所设想的时间呢?

阅读全文

本次安装系统环境为Centos6 x86_64 # cd /usr/local/src # wget http://cn2.php.net/distributions/php-5.6.39.tar.gz # tar xzf php-5.6.39.tar.xz 安装依赖包 # yum install gcc gcc-c++ bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel 开始编译安装(这里先别急着去执行,先往文章后面看看)

阅读全文

这里主要记录Nginx服务器的反向代理proxy_pass配置方法中容易踩坑的地方,就是经常被提到的url的/问题的相关说明,需要的朋友可以参考下 普通反向代理 Nginx的普通的反向代理配置还是比较简单的,如: location ~ /* { proxy_pass http://192.168.1.12:8080; } 或者可以 location / { proxy_pass http://192.168.1.12:8080; } 如果要配置一个相对复杂的反向代理,比如,将url中以/test/开头的请求转发到后台对应的某台server上 可以在Nginx里设置一个变量,来临时保存/test/后面的路径信息 location ^~ /test/ { if ($request_uri ~ /test/(\d+)/(.+)) { set $id $1; set $params $2; } proxy_pass http://backend$id.

阅读全文

今天在实际脚本中遇到了一个python的变量赋值的坑,将字典从一个变量a赋值给另外一个变量b之后,修改了原始变量a的值,本意是保持b变量为原始值不动,结果修改a之后发现b的值也随着改变了,经过一番查询以及自己的测试之后,确认原来python中的list和dict数据类型采用的是浅拷贝。 列表的具体测试如下: >>> a = ['1'] >>> b = a >>> a.append('2') >>> a ['1', '2'] >>> b ['1', '2'] 可以看到当改变a的值时,b的值也跟着一起改变了。 再看字典的例子: >>> ar = {'x':'1','y':'2'} >>> br = ar >>> br {'y': '2', 'x': '1'} >>> ar['x'] = '3' >>> br {'y': '2', 'x': '3'} >>> ar {'y': '2', 'x': '3'} 其实还可以有更简单的验证方式,即查看变量的id值:

阅读全文

curl usage note

CURL可以详细打印出请求过程每一步所消耗的时间,对于我们日常的排查故障非常有用。 下面说一下具体的使用方法: 1.建立一个命令格式文件 \n time_namelookup: %{time_namelookup}\n time_connect: %{time_connect}\n time_appconnect: %{time_appconnect}\n time_pretransfer: %{time_pretransfer}\n time_redirect: %{time_redirect}\n time_starttransfer: %{time_starttransfer}\n ----------\n time_total: %{time_total}\n \n 说明: time_namelookup:DNS解析域名时间,把域名—>ip的时间 time_connect:TCP连接的时间,三次握手的时间 time_appconnect:SSL|SSH等上层连接建立的时间 time_pretransfer:从请求开始到到响应开始传输的时间 time_redirect:从开始到最后一个请求事务的时间 time_starttransfer:从请求开始到第一个字节将要传输的时间 time_total:总时间 2.命令使用方法 curl -w “@curl” -o /dev/null -s -d “username=aaa&password=bbb” https://xxx.

阅读全文

© 2022 Yullin. All Rights Reserved
作者的图片

Yullin

Learn To Live

DevOps

China