Category Archives: 技术爱好

程序

Linux系统平均负载3个数字的含义

越来越多人开始接触Linux操作系统,从VPS到无线路由的刷机系统(如OpenWRT、Tomato),同时也必不可少地会在各式各样的探针和系统监测界面上看到”系统平均负载”或者”Load Average”这样的字眼,但是它并不像我们习惯中Windows、Mac操作系统提供百分比显示CPU、内存占用率,而是以几个用空格隔开的浮点数来表示系统平均负载,那么它们到底是什么意思呢?又如何衡量系统负载及系统的稳定性呢?

系统平均负载-基本解释

在Linux shell下,有很多命令可以看到Load Average,例如:

root@Slyar.com:~# uptime
12:49:10 up 182 days, 16:54, 2 users, load average: 0.08, 0.04, 0.01

root@Slyar.com:~# w
12:49:18 up 182 days, 16:54, 2 users, load average: 0.11, 0.07, 0.01

root@Slyar.com:~# top
top – 12:50:28 up 182 days, 16:55, 2 users, load average: 0.02, 0.05, 0.00

先大致给一下这3个数字的含义:分别表示系统在过去1分钟、5分钟、15分钟内运行进程队列中的平均进程数量。

运行队列嘛,没有等待IO,没有WAIT,没有KILL的进程通通都进这个队列。

另外还有一个最直接的显示系统平均负载的命令

root@Slyar.com:~# cat /proc/loadavg
0.10 0.06 0.01 1/72 29632

除了前3个数字表示平均进程数量外,后面的1个分数,分母表示系统进程总数,分子表示正在运行的进程数;最后一个数字表示最近运行的进程ID.

系统平均负载-进阶解释

只是上面那一句话的解释,基本等于没解释。写这篇文章的缘由就是因为看到了一篇老外写的关于Load Average的文章,觉得解释的很好,所以才打算摘取一部分用自己的话翻译一下。

@scoutapp Thanks for your article Understanding Linux CPU Load, I just translate and share it to Chinese audiences.

为了更好地理解系统负载,我们用交通流量来做类比。

1、单核CPU – 单车道 – 数字在0.00-1.00之间正常

路况管理员会告知司机,如果前面比较拥堵,那司机就要等待,如果前面一路畅通,那么司机就可以驾车直接开过。

具体来说:

0.00-1.00 之间的数字表示此时路况非常良好,没有拥堵,车辆可以毫无阻碍地通过。

1.00 表示道路还算正常,但有可能会恶化并造成拥堵。此时系统已经没有多余的资源了,管理员需要进行优化。

1.00-*** 表示路况不太好了,如果到达2.00表示有桥上车辆一倍数目的车辆正在等待。这种情况你必须进行检查了。

2、多核CPU – 多车道 – 数字/CPU核数 在0.00-1.00之间正常

多核CPU的话,满负荷状态的数字为 “1.00 * CPU核数”,即双核CPU为2.00,四核CPU为4.00。

3、安全的系统平均负载

作者认为单核负载在0.7以下是安全的,超过0.7就需要进行优化了。

4、应该看哪一个数字,1分钟,5分钟还是15分钟?

作者认为看5分钟和15分钟的比较好,即后面2个数字。

5、怎样知道我的CPU是几核呢?

使用以下命令可以直接获得CPU核心数目

grep ‘model name’ /proc/cpuinfo | wc -l

结论

取得CPU核心数目N,观察后面2个数字,用数字/N,如果得到的值小于0.7即可无忧。

原文地址:http://www.slyar.com/blog/linux-load-average-three-numbers.html

修改host屏蔽各大视频网站的广告

网上摘来的,记录一下。

#优酷

127.0.0.1 atm.youku.com
127.0.0.1 Fvid.atm.youku.com
127.0.0.1 html.atm.youku.com
127.0.0.1 valb.atm.youku.com
127.0.0.1 valf.atm.youku.com
127.0.0.1 valo.atm.youku.com
127.0.0.1 valp.atm.youku.com
127.0.0.1 lstat.youku.com
127.0.0.1 speed.lstat.youku.com
127.0.0.1 urchin.lstat.youku.com
127.0.0.1 stat.youku.com
127.0.0.1 static.lstat.youku.com
127.0.0.1 valc.atm.youku.com
127.0.0.1 vid.atm.youku.com
127.0.0.1 walp.atm.youku.com

#百度:

127.0.0.1 a.baidu.com
127.0.0.1 baidutv.baidu.com
127.0.0.1 bar.baidu.com
127.0.0.1 c.baidu.com
127.0.0.1 cjhq.baidu.com
127.0.0.1 cpro.baidu.com
127.0.0.1 drmcmm.baidu.com
127.0.0.1 e.baidu.com
127.0.0.1 eiv.baidu.com
127.0.0.1 hc.baidu.com
127.0.0.1 hm.baidu.com
127.0.0.1 ma.baidu.com
127.0.0.1 nsclick.baidu.com
127.0.0.1 spcode.baidu.com
127.0.0.1 tk.baidu.com
127.0.0.1 union.baidu.com
127.0.0.1 ucstat.baidu.com
127.0.0.1 utility.baidu.com
127.0.0.1 utk.baidu.com
127.0.0.1 focusbaiduafp.allyes.com

#奇艺

127.0.0.1 afp.qiyi.com
127.0.0.1 focusbaiduafp.allyes.com

#CNTV

127.0.0.1 a.cctv.com
127.0.0.1 a.cntv.cn
127.0.0.1 ad.cctv.com
127.0.0.1 d.cntv.cn
127.0.0.1 adguanggao.eee114.com
127.0.0.1 cctv.adsunion.com

#新浪视频
127.0.0.1 dcads.sina.com.cn

#pptv

127.0.0.1 pp2.pptv.com

#乐视

127.0.0.1 pro.letv.com

#搜狐高清

127.0.0.1 images.sohu.com @HostsX

国内站点广告/视频类网站

#CNTV

127.0.0.1 a.cctv.com
127.0.0.1 a.cntv.cn
127.0.0.1 ad.cctv.com
127.0.0.1 d.cntv.cn
127.0.0.1 adguanggao.eee114.com
127.0.0.1 cctv.adsunion.com

#我乐网

127.0.0.1 acs.56.com
127.0.0.1 acs.agent.56.com
127.0.0.1 acs.agent.v-56.com
127.0.0.1 bill.agent.56.com
127.0.0.1 bill.agent.v-56.com
127.0.0.1 stat.56.com
127.0.0.1 stat2.corp.56.com
127.0.0.1 union.56.com
127.0.0.1 uvimage.56.com
127.0.0.1 v16.56.com

#6间房

127.0.0.1 pole.6rooms.com
127.0.0.1 shrek.6.cn
127.0.0.1 simba.6.cn
127.0.0.1 union.6.cn

#土豆网

127.0.0.1 adextensioncontrol.tudou.com
127.0.0.1 iwstat.tudou.com
127.0.0.1 nstat.tudou.com
127.0.0.1 stats.tudou.com
127.0.0.1 *.p2v.tudou.com*
127.0.0.1 at-img1.tdimg.com
127.0.0.1 at-img2.tdimg.com
127.0.0.1 at-img3.tdimg.com
127.0.0.1 adplay.tudou.com
127.0.0.1 adcontrol.tudou.com
127.0.0.1 stat.tudou.com

#酷6网

127.0.0.1 1.allyes.com.cn
127.0.0.1 analytics.ku6.com
127.0.0.1 gug.ku6cdn.com
127.0.0.1 ku6.allyes.com
127.0.0.1 ku6afp.allyes.com
127.0.0.1 pq.stat.ku6.com
127.0.0.1 st.vq.ku6.cn
127.0.0.1 stat0.888.ku6.com
127.0.0.1 stat1.888.ku6.com
127.0.0.1 stat2.888.ku6.com
127.0.0.1 stat3.888.ku6.com
127.0.0.1 static.ku6.com
127.0.0.1 v0.stat.ku6.com
127.0.0.1 v1.stat.ku6.com
127.0.0.1 v2.stat.ku6.com
127.0.0.1 v3.stat.ku6.com

#激动网

127.0.0.1 86file.megajoy.com
127.0.0.1 86get.joy.cn
127.0.0.1 86log.joy.cn

#天线视频

127.0.0.1 casting.openv.com
127.0.0.1 m.openv.tv
127.0.0.1 uniclick.openv.com

#迅雷看看屏蔽:

127.0.0.1 mcfg.sandai.net
127.0.0.1 biz5.sandai.net
127.0.0.1 server1.adpolestar.net
127.0.0.1 advstat.xunlei.com
127.0.0.1 mpv.sandai.net

记一个update的js


function updatePage() {
if(window.XMLHttpRequest)
{
var xmlhttp = new XMLHttpRequest();
}else if(window.ActiveXObject){
var xmlhttp = new ActiveXObject("MicrosoftXMLHTTP");
}
if(xmlhttp)
{
xmlhttp.open('GET', 'http://baizoo.cn/update.php?url=baizoo.cn&ajax=1');
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
window.location.href="http://baizoo.cn/baizoo.cn";
}
}
xmlhttp.send(null);
}
}



批处理删除特定时间的备份文件

服务器里有个mysql自动备份的bat

set zhou=%Date:~0,10%
md "E:\mysqlback\%zhou%"
"G:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump.exe" --opt -Q sbdb -root -password > G:\mysqlback\%zhou%\db.sql

然后计划任务里让这个bat每天执行。

时间久了,备份文件就会越来越多,占据了大量的服务器硬盘。所以需要删除多余的备份。
如果只需要保留最近一个星期的备份,需要如何操作?
代码:

cd /d G:\mysqlback\
for /f "skip=7" %%i in ('dir /tc /o-d /b') do rmdir /s /Q %%i

Continue reading

vbs自动关机

一个自动关机的vbs 留作备份
a=hour(now)
b=weekday(now)

select case b
case 1,3,4,5,6,7
if a>=23 then
call shut_down()
end if
end select

private sub shut_down()
Set colOS = GetObject("winmgmts:{(Shutdown)}").ExecQuery("Select * FROM Win32_OperatingSystem")
For Each eOs In colOS
eOs.Win32Shutdown(1)
Next
end sub

下面代码可以写启动项

set ws=createobject("wscript.shell")
ws.Regwrite"HKLM\Software\Microsoft\Windows\CurrentVersion\Run\",wscript.scriptfullname

BT5破解wpa密码

都说破解wpa密码很难,我尝试了一下,确实挺难的。

方法一、用minidwep破解wpa 见 BT5 中文版破解WPA2 WPA简单过程教程

方法二、奶牛博客里提供了命令行下破解wpa的方法 BackTrack5 (BT5)无线密码破解教程之WPA/WPA2-PSK型无线密码破解 这个过程其实跟minidwep是一样的,只是上面图形化了。

方法三、用EWSA 破解 该方法没试过,貌似是windows系统下运行的。

制作bt5的U盘启动盘

以前做bt4和bt3时参考了很多网上的教程和工具都没成功制作U盘启动盘,今天找到一个用Universal USB Installer 制作BT5的U盘启动盘方法,尝试了下很容易成功了,记录下来分享。

教程详见:制作BT5可保存U盘系统

看看 Universal USB Installer 介绍:Universal USB Installer is a Live Linux USB Creator that allows you to choose from a selection of Linux Distributions to put on your USB Flash Drive.

Universal USB Installer 下载地址 http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/

采集时执行执行时间太长的问题

做采集时,一般使用file_get_contents 或者 curl

1、curl可以使用 CURLOPT_TIMEOUT 设置超时时间,如
curl_setopt($ch, CURLOPT_TIMEOUT, 5); 表示5秒钟后停止获取指定页面。
这个问题可以参考 同步的方式执行还是异步的?CURLOPT_TIMEOUT有什么作用

2、使用file_get_contents 没有很好的参数,网上有部分代码可以参考

当你批量抓取的时候经常会出现网络的问题。可以尝试多次抓取
这也提醒我们,做特别需要稳定性的程序是一定要考虑网络的不稳定性
$html = false;
$try_count = 3;
for($i=0; $i<3 and $html === false; $i++){ $html = file_get_contents($url); }

file_get_contents设置响应时间timeout的方法