top监控工具可以显示CPU占用率为前几位的进程,并提供CPU的实时活动情况,及内存使用情况。

top监控命令在FreeBSD上的使用
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:启动进程的命令名。如果名字太长而不能在一行显示时,它将被截短


现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章
Tags: ,
MyWWWatcher是一个管理MySQL的小工具,比PHPMyAdmin要小很多,很容易使用,配置灵活,有下列非常好的功能:
1.Queries
  这个功能可以让我们直接输入SQL命令操作数据库,操作的命令都保存在History记录中,你可以随时返回以前输入的命令,为我们节省时间,并且SQL命令执行的结果会直接显示在页面下方,特殊的是,可以直接将数据导出为csv格式文件,或者将SQL命令加入Query archive收藏。
2.Query archive
  SQL命令的收藏夹,方便我们使用常用的SQL命令。
3.Import
  数据导入功能,可以直接用SQL命令导入数据,也可以导入SQL文件,CVS文件,如果上传得ZIP或者GZ文件,会先解压在导入。
4.Export
  数据导出功能,和PHPMyAdmin导出功能类似,这里不做过多介绍了。
5.Data insertion
  数据注入器,默认的情况下,允许一次往一张表里提交3条数据,想多提交几条,可以修改配置文件中的insert_rows = 3。
6.Scheme
  数据字典生成器,通过这个功能可以非常直观方便的了解每个表的数据字段的设定。
7. Indexes
  索引管理器,可以方便删除和添加索引,另外还可以方便建立组合索引。
8.Settings
  配置文件管理器,方便得修改配置文件中的参数,保存成功的前提是必须ini目录为可写权限。

  这个工具方便小巧,完全可以满足大部分使用的功能了。推荐给大家,大家可以下载试用一下。
  访问:http://www.the.cz/mywwwatcher
Tags: ,
  开源软件运动正在获得很大成功,正在改变软件业的开发模式、运营方法等,也自然改变着软件测试的方法,借助开源软件测试工具完全可以构造一个完整的测试解决方案,可以极大地提高测试效率,又能大大的降低测试成本。
     
  从单元测试、功能测试到性能测试,从Web页面测试到VoIP/Telephony等一些多媒体应用的测试,直至测试的管理平台和缺陷跟踪系统,能覆盖整个测试工作领域。

1. 测试模型:见 开源软件测试模型 ,阐述了开放源码软件测试模型框架以及环境、元素和技术等。    

2. 单元测试工具:JUint (大家太熟悉了)- see: http://www.junit.org/index.htm
 针对各种语言 (C/C++/C#, PHP, SQL ) Cactus, Cgreen, Check, CppTest, NUnit, NUnitForms , PHPUnit, SQLUnit, ...
 还有针对各种对象(HTTP, XML, Database, ) 进行的单元测试:HttpUnit, XMLUnit, DBUnit,  ObjcUnit, SIPUnit, ...
 Mockrunner用在J2EE环境中进行应用程序的单元测试,不仅支持Struts actions, servlets,过滤器和标签类还包括一个JDBC和一个JMS测试框架,可以用于测试基于EJB的应用程序。

3.  Web 功能测试 :  要数 Selenium,see: 强大的Web开源测试工具—Selenium
   再结合 Ant, EMMA 一起使用就更完美了, see:使用 EMMA 测量测试覆盖率
   功能测试工具很多,可以发现多达几十个:http://www.opensourcetesting.org/functional.php

4. Java 客户端,可以使用 Abbot, see:   http://abbot.sourceforge.net/doc/overview.shtml
   Abbot是一个用来测试Java GUIs的框架, 用简单的基于XML的脚本或者Java代码,就可以开始一个GUI.

5. 性能测试, 著名的有 Jmeter 和 OpenSTA,使用都很方便
     Jmeter可以完成针对静态资源和动态资源( Servlets, Perl脚本, Java对象, 数据查询s, FTP服务等)的性能测试。
     性能测试工具很多,可以访问 http://www.opensourcetesting.org/performance.php  

6. 数据库测试: DBMonster, DBProbe, OraRep, phpMyAdmin
   OSDL Database Test Suite, 是根据Linux开发人员需要而开发的测试框架中数据库测试工具套件,具有很好的实用价值。
   see: http://www.osdl.org/lab_activities/kernel_testing/osdl_database_test_suite/
   More: http://dbcommander.sourceforge.net/            

7. 多媒体(VoIP/Vedio)、IP电话 等测试
   Ethereal, AuthTool, ... SIPp, Sofia SIP, ...  Seagull, ... Asterisk - the Open Source PBX,X-Lite
   其中经常使用的有:Ethereal, SIPp 和 Seagull。而Asterisk 不仅可以作为测试工具,还可以构造企业内部电话网络。
   更多的还有:http://voipsa.org/Resources/tools.php

8.  缺陷跟踪
    Bugzilla一款不错的软件缺陷管理工具
    Mantis是一款基于WEB的软件缺陷管理工具,配置和使用都很简单,适合中小型软件开发团队

9. 测试平台
   TestMaker (solve functionality, scalability and performance of services)-  http://www.pushtotest.com/
   Eclipse Test & Performance Tools Platform (TPTP 4.3)

10. Reference
       http://www.eclipse.org/tptp/
       http://sourceforge.net/search/?type_of_search=soft&words=Test+Tool
       http://www.opensourcetesting.org
       http://testingfaqs.org/
       http://www.pushtotest.com/
       http://www.openqa.org/


现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。也可以联系我QQ:29011218。
PHP培训招生简章
1.从postgresql导出表结构,例如下面的结构
引用
--
-- PostgreSQL database dump
--

SET client_encoding = 'UTF8';
SET check_function_bodies = false;
SET client_min_messages = warning;

SET search_path = public, pg_catalog;

SET default_tablespace = '';

SET default_with_oids = false;

--
-- Name: classes; Type: TABLE; Schema: public; Owner: jobzone; Tablespace:
--

CREATE TABLE classes (
   cid smallint NOT NULL,
   gid character(1) NOT NULL,
   cname character varying(100) NOT NULL
);


ALTER TABLE public.classes OWNER TO jobzone;

--
-- Name: pk_classes; Type: CONSTRAINT; Schema: public; Owner: jobzone; Tablespace:
--

ALTER TABLE ONLY classes
   ADD CONSTRAINT pk_classes PRIMARY KEY (gid, cid);


--
-- Name: fk_classes_reference_groups; Type: FK CONSTRAINT; Schema: public; Owner: jobzone
--

ALTER TABLE ONLY classes
   ADD CONSTRAINT fk_classes_reference_groups FOREIGN KEY (gid) REFERENCES groups(gid) ON UPDATE RESTRICT ON DELETE RESTRICT;


--
-- PostgreSQL database dump complete
--

2.选择出最重要的建表语句到mysql的数据库中执行,例如将下面的内容进行执行:
引用
CREATE TABLE classes (
   cid smallint NOT NULL,
   gid character(1) NOT NULL,
   cname character varying(100) NOT NULL
);

特别注意:如果表名有双引号的,一定要去除。
3.从postgresql导出表纯数据,导出SQL格式的数据文件,例如:
引用
--
-- PostgreSQL database dump
--

SET client_encoding = 'UTF8';
SET check_function_bodies = false;
SET client_min_messages = warning;

SET search_path = public, pg_catalog;

--
-- Data for Name: classes; Type: TABLE DATA; Schema: public; Owner: jobzone
--

INSERT INTO classes VALUES (2750, 'C', '生物制品业');
INSERT INTO classes VALUES (4183, 'C', '电子计算机修理业');
INSERT INTO classes VALUES (100, 'A', '农业');
INSERT INTO classes VALUES (2800, 'C', '化学纤维制造业');
INSERT INTO classes VALUES (4189, 'C', '其他电子设备修理业');
INSERT INTO classes VALUES (110, 'A', '种植业');
INSERT INTO classes VALUES (2810, 'C', '纤维素纤维制造业');
INSERT INTO classes VALUES (4190, 'C', '其他电子设备制造业');

4.使用vi删除sql文件中下面的内容:
引用
-- PostgreSQL database dump
--

SET client_encoding = 'UTF8';
SET check_function_bodies = false;
SET client_min_messages = warning;

SET search_path = public, pg_catalog;

--
-- Data for Name: classes; Type: TABLE DATA; Schema: public; Owner: jobzone
--

如果有必要,就是使用vi替换命令:% s/"/`/g,将"替换成`符号。
5.登录mysql,转换到你要导入的数据库,执行sql文件即可完成导入,下面例子仅作参考:
引用
#mysql -u root -p
mysql>use jobzone
mysql>\. /aaa.sql
Tags: ,
  其实很多人都会说有ee等更加方便的工具为什么不用,却去使用vi呢?我用ee打开一个400M的文件,ee打开失败,用vi打开和执行的速度都还不错,所以我还是强烈建议使用vi。
  进入正题,vi替换命令用法详解:
引用
:ranges/pat1/pat2/g
其中
: 这是Vi的命令执行界面。
range 是命令执行范围的指定,可以使用百分号(%)表示所有行,使用点(.)表示当前行,使用美元符号($)表示最后一行。你还可以使用行号,例如10,20表示第10到20行,.,$表示当前行到最后一行,.+2,$-5表示当前行后两行直到全文的倒数第五行,等等。
s 表示其后是一个替换命令。

pat1 这是要查找的一个正则表达式,这篇文章中有一大堆例子。

pat2 这是希望把匹配串变成的模式的正则表达式,这篇文章中有一大堆例子。
g 可选标志,带这个标志表示替换将针对行中每个匹配的串进行,否则则只替换行中第一个匹配串。


注意事项:严格按照上面的格式写,不要加空格。完全连在一起来写。
例子:
:%s/aaa/bbb/g
在文档中搜索aaa替换成bbb。

现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章
分页: 99/128 第一页 上页 94 95 96 97 98 99 100 101 102 103 下页 最后页 [ 显示模式: 摘要 | 列表 ]