BIWEB和肖飞的报道

freebsd10下安装xvfb

2015/01/28 18:38 ArthurXF
网上大把的资料都是说在linux下如何安装xvfb,就是没有说在freebsd下如何安装。
经本人多时研究,总算得到了答案,现分享给大家。
freebsd下xvfb不是这个名字了。
可以用下面的命令进行安装。
引用
pkg install xorg-vfbserver
or

cd /usr/ports/x11-servers/xorg-vfbserver
make install

安装了以后就会有Xvfb这个命令了,注意X要大写哦
top监控工具可以显示CPU占用率为前几位的进程,并提供CPU的实时活动情况
语法:top [-s time] [-d count] [-q] [-h] [-n number] [-f filename] [-o field][-U usename]
-S 将系统进程信息也显示到屏幕上,默认情况下,top不显示系统进程的信息
-b 使用”batch”方式运行top。在此种方式下,所有来自终端的输入都将被忽略,但交互键(比如C and )
依然起使用。这是运行top输出到哑终端或输到非终端的默认运行方式
-i 使用交互运行top程序,在此种方式下,命令会被进程立即被处理。不管命令是不是能被top所理解执行,
屏幕都将立即更新。这是top的默认运行方式。
-I 不显示空闲进程,在默认情况下,top连同空闲进程的信息一同输出。
-t 不显示top进程自己
-n 不以交互方式使用top命令,作用同”batch”方式。
-s time 设置屏幕刷新的延时,单位为秒,默认值5秒
-d count 设置屏幕刷新的次数,刷新显示完count次后退出
-q 如果经过nice授权,使用-q可以使top运行的更快一些,这样,在系统反应缓慢的时候,可以会更快的找到存在的问题。
此选项在FreeBSD下只有root可以使用
-n number 设置每一屏幕显示的进程数目,number值超过进程最大数目,则设置无效
-u 用显示User ID代替username,提高命令运行速度
-v 显示程序版本号后,立即退出。如果要在top运行时查看版本号,输入”?”
-o 以指定的字段排序显示进行信息。字段名必须为输入在屏幕的可见列的名字,而且必须是小写。
比如”cpu”、”size”、”res”与”time”,但不同的操作系统间有许多的不同。注意不是每个UNIX操
作系统都支持此选项。

-U 只显示属于后面所跟用户名的进程的信息
屏幕控制命令
交换方式下,可以使用以下命令控制top
^L – 刷新屏幕
q – 退出
h or ? – 显示帮助
d – 修改刷新显示的次数
e – 显示最近”kill”或”renice”命令所产生的错误
i – 显示/不显示处于空闲的进程
I – 作用同 ‘i’
k – kill 进程; 发送一个信号到某个进程列表
n or # – 修改显示进程的数目
o – 以特定的字段排序 (pri, size, res, cpu, time)
r – renice 一个进程
s – 修改输入的更新时间
u – 只显示属于某个用户的进程 (+ selects all users)
顺序显示下面三个常规的信息

一. 系统信息:

last pid: 22228; load averages: 0.25, 0.97, 1.56 up 44+03:25:56 21:39:36
274 processes: 3 running, 259 sleeping, 12 zombie
CPU states: 2.9% user, 0.0% nice, 4.2% system, 0.4% interrupt, 92.5% idle
Mem: 483M Active, 120M Inact, 222M Wired, 25M Cache, 112M Buf, 153M Free
Swap: 2048M Total, 143M Used, 1905M Free, 6% Inuse

首部的几行显示系统的几个信息,其中包括:
+ Load averages:1分钟、5分钟和15分钟内运行的负载平均数
+ system:系统名和当前日期.
一般来说只要每个CPU的当前活动进程数不大于 3那么系统的性能就是良好的,如果每个CPU的任务数大于5,
那么就表示这台机器的性能有严重问题
+ 最近一次更新时存在的进程总数,并分别列出run(运行)、sleep(睡眠)、idle(停止)和zomb(‘僵尸’)状态的进程数
+ CPU state:用户占用时间的百分比、系统占用CPU时间的百分比、被nice命令改变优先级的任务占用的CPU时间百分比、以及CPU空闲时间的百分比。
(被nice命令改变优先级的任务仅指那些nice值为负的任务)。花费在被nice命令改变优先级的任务上的时间也将被计算在系统和用户时间内,因此
整个时间加起来可能会超过百分之百

二.内存信息
Memory: 610008K (24424K) real, 995344K (30304K) virtual, 12588K free Page# 1/4
Memory:关于内存使用情况的统计,包括实际(real)内存的活动值/总值,虚拟(virtual)内存的使用值/总值,剩余的内存。

DESCRIPTION OF MEMORY
Mem: 9220K Active, 1032K Inact, 3284K Wired, 1MB Cache, 2M Buf, 1320K
Free Swap: 91M Total, 79M Free, 13% Inuse, 80K In, 104 K Out

K: Kilobyte(K)

M: Megabyte(兆)

%: 1/100(百分比)

Active:
活动页的数目

Inact: 非活动页的数目

Wired: 已经被写入页的数目, 包括缓存文件数据页码

Cache: 被用于 VM-level 磁盘缓冲的页的数目

Buf: 被用于 BIO-level 磁盘缓冲的页的数目

Free: 空闲页

Total: 总的可使用交换区

Free: 总共空闲的交换区

Inuse: 交换区的使用情况

In: pages paged in from swap devices (最近的时间间隔)

Out: pages paged out to swap devices (最近的时间间隔)

三.进程信息
CPU PID USERNAME PRI NI SIZE RES STATE TIME %WCPU %CPU COMMAND
1 33 root 152 20 0K 0K run 153:43 1.18 1.18 vxfsd
0 1751 root 154 20 2500K 868K sleep 2084:19 0.52 0.52 ARMServer
0 1730 root 154 20 4500K 332K sleep 1664:55 0.44 0.44 acactmgr
列出系统里每一个处理器的信息,当信息在一个屏幕内无法显示时,会被分成多个屏幕显示,可以前面提到l,k和t命令查看
(1)CPU:处理器号(仅当多处理器系统时列出)
(2)PID:进程号
(3)USERNAME:用户名
(4)PRI:任务的优先级
(5)NICE:任务的nice值,一个具有较低值的进程在系统上将具有优先权。可以通过改变nice值提高某些进程速度,但是这实际上是一种交易,因为那些nice值被升高的进程此时将运行得很慢。
(6)SIZE:任务的代码加上数据再加上栈空间的大小。
(7)RES:任务使用的物理内存的总数量。
(8)STATE:任务的状态
(9)TIME:自任务开始时使用的总CPU时间,单位为秒,如153:43,对应是153秒43毫秒
(10)%WCPU:进程的CPU利用率权重百分比
(11)%CPU:进程的原始的CPU利用率百分比,自上一次屏幕刷新以来任务占用CPU 时间的份额
(12)COMMAND:启动进程的命令名。如果名字太长而不能在一行显示时,它将被截短

Tags: ,
今天在做一个系统GBK转UTF8的编码转换,竟然发现这个系统的sql文件里的汉字都被处理成了16进制编码了。
而GBK,和UTF8的16进制编码不一致,导致根本无法在utf8下正常导入数据库。

现我肖飞为大家倾情奉献,解决办法如下:
一、在utf8的mysql下
得到中文‘游客’的gbk下的16进制编码
mysql> SELECT hex(CONVERT( '游客' USING gbk ));
      -> D3CEBFCD

反推gbk的16进制编码,取回中文
mysql> SELECT CONVERT( unhex('d3cebfcd') USING gbk);
      -> ’游客'

从gbk的16进制编码直接转成utf8的16进制编码
mysql> SELECT HEX(CONVERT(CONVERT( unhex('d3cebfcd') USING gbk) USING utf8));
      -> 'E6B8B8E5AEA2'


二、如果在gbk的mysql环境下
得到中文‘游客’的gbk下的16进制编码
mysql> SELECT hex('游客');
      -> D3CEBFCD

反推gbk的16进制编码,取回中文
mysql> unhex('d3cebfcd') ;
      -> ’游客'

原理知道了,就可以写个小程序来替换进行转编码了。不过特别提醒在文本里16进制必须在头部加上0x,例如:0xD3CEBFCD才能正常使用。
  我们公司新配置了一台服务器,使用的MYSQL5.5,当时并没考虑到会有GBK的网站放上来,本来UTF8网站都运行正常,后来有两台服务器合并,把老服务器拿回来了,老服务器上的网站全部放到新服务器上,这样就麻烦大了。老网站大量使用的是GBK版本,在新服务器上全部乱码。
  执行时还会报GBK字符集不支持的错误,查看了一下字符集,MYSQL5.5确实默认情况下不支持GBK,那只好重新装了。
  把MYSQL,deinstall后,执行make WITH_CHARSET=gbk WITH_XCHARSET=all WITH_COLLATION=gbk_chinese_ci BUILD_STATIC=yes install clean安装完成。重启后,不再报错了,但是读取出来的数据全部乱码,转成utf8浏览时正常。
  程序中加入set names gbk,仍然乱码。试了N种都没解决。
  最后把数据库拉下来,全部替换成utf8的字符集并转为utf8保存文件。上传服务器之后,程序设定set names gbk,就可以正常显示了。
  估计问题在于MYSQL5.5还是以utf8或者是我们卸载不干净,反正最底层还是以utf8为准,GBK的数据在MYSQL5.5里就是乱码,当我们转数据为UTF8的时候,MYSQL5.5认了编码,程序上设定显示按照GBK,MYSQL会自动将utf8转码为GBK显示。这样就正常了。
  我肖飞将我的经历奉贤给大家,希望大家少走弯路!
Tags: , , , ,
前上海的电信资源大致可分为几家:  1.上海长信:全上海160G的带宽接入,此电信分公司握有上海的163的总出口,chi hair straightener,目前此公司所有的机房分布如下,武胜(上海带宽核心接入点),横浜(12楼做接入,14楼做IDC,chi hair straighteners,20楼目前暂时封闭,此机房有40G带宽直连武胜),花木(此机房有20G带宽,10G武胜,10G横浜),真如(目前两根2.5G的带宽,一根接横浜,一根接武胜),张东(此机房2根2.5G带宽,一根连横浜,一根连花木)
  2.上海热线:(属电信三产)目前有外高桥、张江机房、信息大楼、智慧广场,此类机房都是从三产机房的带宽接入,并无与武胜和横浜对联,目前外高有2根2G带宽,张江2G带宽,信息大楼2G,智慧广场带宽非常小,未上G.
  3.信网:(负责上海城域网,如一般小区ADSL接入,是此公司负责实施) 目前有海宁,国立,云莲 ,chi pink dazzle,同普,汾阳,复华,等这些机房由于时间很早,所以机房设施有点陈旧。且这些机房并无与武胜和横浜对联。此类机房除了云莲和同普是2G带宽以外,别的机房带宽都非常小。
  4.数据:(只做专线接入)以上为目前上海的IDC行情,如果有人要选择机房,建议选择长信的机房,因为整个上海的出口带宽在长信的控制范围之内。
Tags:
分页: 1/2 第一页 1 2 下页 最后页 [ 显示模式: 摘要 | 列表 ]