centos monitor,centos远程桌面软件

其实centos monitor的问题并不复杂,但是又很多的朋友都不太了解centos远程桌面软件,因此呢,今天小编就来为大家分享centos monitor的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

centos怎样编写tomcat宕机自动重新启动

一、设置tomcat定时启动

1,首先将tomcat注册为服务,先打开tomcat的bin目录下service.bat文件,修改下面的值,这是sevvice的注册名称和显示名称,一般可使用默认值。

set SERVICE_NAME=Tomcat7

set PR_DISPLAYNAME=Apache Tomcat

【然后修改jvm大小,搜索到--JvmMs 128--JvmMx 256进行修改,因为做成服务启动,启动的时候就不会用到 catalina.bat,也就不会读取里面的jvm设置了。】(可选,可以不设置)

然后运行cmd命令窗口,cd到tomcat的bin目录下,运行下面的命令

service.bat install运行成功过后,会提示服务已经安装成功。

2,制作重启脚本restart.bat,文件内容如下

net stop Tomcat7 net start Tomcat7

3,利用控制面板里面的“任务计划”设置第2步的脚本运行时间计划

4,如果想删除服务,也很简单,先把服务停掉,然后在cmd窗口运行下面的命令即可,后面那个Tomcat7是服务名。

sc delete Tomcat7

需要注意的是,需要先把服务停掉,才能一次删除成功,或者删除之后再停止服务,就会发现服务已经删除成功了。

二、监听tomcat

只要运行start.bat即可,相关配置在config.properties文件中,默认即可,如果服务名不对应就修改关闭和启动命令的服务名即可:net start【Tomcat7】括号中服务名,然后运行start.bat

下面是具体的监听代码:

首先是监听类TomcatMonitor.java:

[java] view plain copy

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.MalformedURLException;

import java.net.URL;

import java.net.URLConnection;

import java.util.Properties;

/**

*@describe:TomcatMonitor.java

*

*@date 2016-7-4

*@author liuweilong

*/

public class TomcatMonitor implements Runnable{

String start="";//系统命令启动

String stop="";//系统命令关闭

String testHttp="";//测试连接地址

int testIntervalTime=1;//测试连接间隔时间,单位为秒

int waitIntervalTime=2;//等待测试间隔时间,单位为秒

int testTotalCount=5;//测试连接总次数

Thread thread=null;

public TomcatMonitor(){

InputStream in= TomcatMonitor.class.getResourceAsStream("config.properties");

Properties p= new Properties();

try{

p.load(in);

stop=p.getProperty("stop");

start=p.getProperty("start");

testHttp=p.getProperty("testHttp");

testIntervalTime=Integer.parseInt(p.getProperty("testIntervalTime"));

waitIntervalTime=Integer.parseInt(p.getProperty("waitIntervalTime"));

testTotalCount=Integer.parseInt(p.getProperty("testTotalCount"));

} catch(Exception e){

e.printStackTrace();

}

System.out.println("*******************初始化成功!*******************");

thread=new Thread(this);

thread.start();

}

public void run(){

System.out.println("正在监控中...");

int testCount=0;

while(true){

testCount=0;

testCount++;

boolean isrun=test();

System.out.println("正在启动测试连接,尝试连接次数为:"+testCount+",结果为:"+(isrun==false?"失败.":"成功!"));

while(!isrun){

if(testCount>=testTotalCount)break;

try{

thread.sleep(testIntervalTime*1000);

} catch(InterruptedException e){

e.printStackTrace();

}

testCount++;

System.out.println("正在启动测试连接,尝试连接次数为:"+testCount+",结果为:"+(isrun==false?"失败.":"成功!"));

isrun=test();

}

if(!isrun){

try{

//关闭tomcat服务

Process proc= Runtime.getRuntime().exec(stop);

thread.sleep(5000);

//启动tomcat服务

System.out.println("测试连接失败,正在重启tomcat");

Process p=Runtime.getRuntime().exec(start);

System.out.println("重启tomcat成功");

}catch(Exception e){

e.printStackTrace();

System.out.println("重启tomcat异常,请查看先关错误信息。。。。。");

}

}

try{

thread.sleep(waitIntervalTime*1000);

} catch(InterruptedException e){

e.printStackTrace();

}

isrun=test();

}

}

public boolean test(){

URL url=null;

try{

url= new URL(testHttp);

} catch(MalformedURLException e){

e.printStackTrace();

}

try{

URLConnection urlConn=url.openConnection();

urlConn.setReadTimeout(15000);

BufferedReader reader= new BufferedReader(new InputStreamReader( urlConn.getInputStream()));//实例化输入流,并获取网页代码

String s;

while((s= reader.readLine())!= null){

return true;

}

} catch(Exception e){

return false;

}

return false;

}

public static void main(String[] args) throws Exception{

TomcatMonitor tm=new TomcatMonitor();

}

}

然后是对应的配置文件config.properties:

[plain] view plain copy

#系统命令启动

start=net start Tomcat7

#关闭

stop= net stop Tomcat7

#测试连接总次数

testTotalCount=3

#连接失败时,再次检测时间间隔,单位为秒

testIntervalTime=3

#连接超时时间,即多少秒tomcat没响应视为宕机,单位为秒

connectionTimeout=15

#tomcat启动时间,防止在tomcat尚未启动完成的时候,程序又去检验tomcat状态,造成尚未启动完成又重新启动,单位为秒

tomcatStartTime=600

#测试连接地址

testHttp=

#正常情况下,每次检测间隔时间,单位为秒

waitIntervalTime=30

最后是启动的start.bat:

[plain] view plain copy

java-cp. TomcatMonitor

centos7系统打开system monitor,为什么四个cpu一直处于10

这个很正常呀.楼上说得对.一般应该在90%以上才好呢.关于CPU占用如何下降,请看以下:
CPU占用率高的九种可能
1、防杀毒软件造成故障由于新版的KV、金山、瑞星都加入了对网页、插件、邮件的随机监控,无疑增大了系统负担。处理方式:基本上没有合理的处理方式,尽量使用最少的监控服务吧,或者,升级你的硬件配备。
2、驱动没有经过认证,造成CPU资源占用100%大量的测试版的驱动在网上泛滥,造成了难以发现的故障原因。处理方式:尤其是显卡驱动特别要注意,建议使用微软认证的或由官方发布的驱动,并且严格核对型号、版本。
3、病毒、木马造成大量的蠕虫病毒在系统内部迅速复制,造成CPU占用资源率据高不下。解决办法:用可靠的杀毒软件彻底清理系统内存和本地硬盘,并且打开系统设置软件,察看有无异常启动的程序。经常性更新升级杀毒软件和防火墙,加强防毒意识,掌握正确的防杀毒知识。
4、控制面板—管理工具—服务—RISING REALTIME MONITOR SERVICE点鼠标右键,改为手动。
5、开始->;运行->;msconfig->;启动,关闭不必要的启动项,重启。
6、查看“svchost”进程。
svchost.exe是Windows XP系统的一个核心进程。svchost.exe不单单只出现在Windows XP中,在使用NT内核的Windows系统中都会有svchost.exe的存在。一般在Windows 2000中svchost.exe进程的数目为2个,而在Windows XP中svchost.exe进程的数目就上升到了4个及4个以上。
7、查看网络连接。主要是网卡。
8、查看网络连接当安装了Windows XP的计算机做服务器的时候,收到端口 445上的连接请求时,它将分配内存和少量地调配 CPU资源来为这些连接提供服务。当负荷过重的时候,CPU占用率可能过高,这是因为在工作项的数目和响应能力之间存在固有的权衡关系。你要确定合适的 MaxWorkItems设置以提高系统响应能力。如果设置的值不正确,服务器的响应能力可能会受到影响,或者某个用户独占太多系统资源。要解决此问题,我们可以通过修改注册表来解决:在注册表编辑器中依次[HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\lanmanserver ]分支,在右侧窗口中新建一个名为“maxworkitems”的DWORD值。然后双击该值,在打开的窗口中键入下列数值并保存退出:如果计算机有512MB以上的内存,键入“1024”;如果计算机内存小于512 MB,键入“256”。
9、看看是不是Windows XP使用鼠标右键引起CPU占用100%前不久的报到说在资源管理器里面使用鼠标右键会导致CPU资源100%占用,我们来看看是怎么回事?征兆:在资源管理器里面,当你右键点击一个目录或一个文件,你将有可能出现下面所列问题:任何文件的拷贝操作在那个时间将有可能停止相应网络连接速度将显著性的降低所有的流输入/输出操作例如使用Windows Media Player听音乐将有可能是音乐失真成因:当你在资源管理器里面右键点击一个文件或目录的时候,当快捷菜单显示的时候,CPU占用率将增加到100%,当你关闭快捷菜单的时候才返回正常水平。解决方法:方法一:关闭“为菜单和工具提示使用过渡效果”
1、点击“开始”--“控制面板”
2、在“控制面板”里面双击“显示”
3、在“显示”属性里面点击“外观”标签页
4、在“外观”标签页里面点击“效果”
5、在“效果”对话框里面,清除“为菜单和工具提示使用过渡效果”前面的复选框接着点击两次“确定”按钮。方法二:在使用鼠标右键点击文件或目录的时候先使用鼠标左键选择你的目标文件或目录。然后再使用鼠标右键弹出快捷菜单。一般情况下CPU占了100%的话我们的电脑总会慢下来,而很多时候我们是可以通过做一点点的改动就可以解决,而不必问那些大虾了。当机器慢下来的时候,首先我们想到的当然是任务管理器了,看看到底是哪个程序占了较搞的比例,如果是某个大程序那还可以原谅,在关闭该程序后只要 CPU正常了那就没问题;如果不是,那你就要看看是什幺程序了,当你查不出这个进程是什幺的时候就去google或者baidu搜。有时只结束是没用的,在xp下我们可以结合msconfig里的启动项,把一些不用的项给关掉。在2000下可以去下个winpatrol来用。一些常用的软件,比如浏览器占用了很搞的CPU,那幺就要升级该软件或者干脆用别的同类软件代替,有时软件和系统会有点不兼容,当然我们可以试下xp系统下给我们的那个兼容项,右键点该.exe文件选兼容性。
svchost.exe有时是比较头痛的,当你看到你的某个svchost.exe占用很大CPU时你可以去下个aports或者fport来检查其对应的程序路径,也就是什幺东西在掉用这个svchost.exe,如果不是c:\Windows\system32(xp)或c:\winnt\ system32(2000)下的,那就可疑。升级杀毒软件杀毒吧。右击文件导致100%的CPU占用我们也会遇到,有时点右键停顿可能就是这个问题了。官方的解释:先点左键选中,再右键(不是很理解)。非官方:通过在桌面点右键-属性-外观-效果,取消”为菜单和工具提示使用下列过度效果(U)“来解决。还有某些杀毒软件对文件的监控也会有所影响,可以关闭杀毒软件的文件监控;还有就是对网页,插件,邮件的监控也是同样的道理。一些驱动程序有时也可能出现这样的现象,最好是选择微软认证的或者是官方发布的驱动来装,有时可以适当的升级驱动,不过记得最新的不是最好的。
CPU降温软件,由于软件在运行时会利用所以的CPU空闲时间来进行降温,但Windows不能分辨普通的CPU占用和降温软件的降温指令之间的区别,因此CPU始终显示100%,这个就不必担心了,不影响正常的系统运行。在处理较大的word文件时由于word的拼写和语法检查会使得CPU累,只要打开word的工具-选项-拼写和语法把”检查拼写和检查语法“勾去掉。单击avi视频文件后CPU占用率高是因为系统要先扫描该文件,并检查文件所有部分,并建立索引;解决办法:右击保存视频文件的文件夹-属性-常规-高级,去掉为了快速搜索,允许索引服务编制该文件夹的索引的勾

CentOS下查看CPU信息的详解

我们可以用/proc/cpuinfo查看CPU的信息。该文件包含系统上每个处理器的数据段落。/proc/cpuinfo描述中有6个条目适用于多内核和超线程(HT)技术检查:processor, vendor id, physical id, siblings, core id和cpu cores。

(1)processor:包括这一逻辑处理器的唯一标识符。

(2)physical id:包括每个物理封装的唯一标识符。

(3)core id:保存每个内核的唯一标识符。

(4)siblings:列出了位于相同物理封装中的逻辑处理器的数量。

(5)cpu cores:包含位于相同物理封装中的内核数量。

(6)如果处理器为英特尔处理器,则vendor id条目中的字符串是GenuineIntel。

拥有相同physical id的所有逻辑处理器共享同一个物理插座。每个physical id代表一个唯一的物理封装。Siblings表示位于这一物理封装上的逻辑处理器的数量。逻辑处理器可能支持也可能不支持超线程(HT)技术。每个core id均代表一个唯一的处理器内核。所有带有相同core id的逻辑处理器均位于同一个处理器内核上。如果有一个以上逻辑处理器拥有相同的core id和physical id,则说明系统支持超线程(HT)技术。如果有两个或两个以上的逻辑处理器拥有相同的physical id,但是core id不同,则说明这是一个多内核处理器。cpu cores条目也可以表示是否支持多内核。

一.i386 i586 i686之间的区别

他们指的是适用于intel i386、i586、i686兼容指令集的微处理器。一般来说,等级愈高的机器可接受较低等级的rpm文件。

i386—几乎所有的X86平台,不论是旧的pentum或者是新的pentum-IV与K7系统CPU,都可以正常工作,i指得是Intel兼容的CPU,至于386就是CPU的等级。

i586—就是586等级的计算机,包括pentum第一代MMX CPU,AMD的K5,K6系统CPU(socket7插脚)等CPU都是这个等级。

i686—pentum 2以后的Intel系统CPU及K7以后等级的CPU都属于这个686等级。

你可以透过/proc/cpuinfo这个档案查询你的CPU等级。

二.查看CPU信息

我们可以通过/proc/cpuinfo这个文件来查看CPU的信息。

[root@qs-wgdb-1 proc]# more/proc/cpuinfo

processor: 0

vendor_id: GenuineIntel

cpu family: 6

model: 44

model name: Intel(R) Xeon(R) CPUE5630@ 2.53GHz

stepping: 2

cpu MHz: 2527.071

cache size: 12288 KB

physical id: 1

siblings: 8

core id: 0

cpu cores: 4

apicid: 32

fpu: yes

fpu_exception: yes

cpuid level: 11

wp: yes

flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dt

s acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni

monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm

bogomips: 5054.14

clflush size: 64

cache_alignment: 64

address sizes: 40 bits physical, 48 bits virtual

power management: [8]

processor: 1

vendor_id: GenuineIntel

cpu family: 6

model: 44

model name: Intel(R) Xeon(R) CPUE5630@ 2.53GHz

stepping: 2

cpu MHz: 2527.071

cache size: 12288 KB

physical id: 0

siblings: 8

core id: 0

cpu cores: 4

apicid: 0

fpu: yes

fpu_exception: yes

cpuid level: 11

wp: yes

flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dt

s acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni

monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm

bogomips: 5054.02

clflush size: 64

cache_alignment: 64

address sizes: 40 bits physical, 48 bits virtual

power management: [8]

processor: 2

vendor_id: GenuineIntel

cpu family: 6

model: 44

model name: Intel(R) Xeon(R) CPUE5630@ 2.53GHz

stepping: 2

cpu MHz: 2527.071

cache size: 12288 KB

physical id: 1

siblings: 8

core id: 1

cpu cores: 4

apicid: 34

fpu: yes

fpu_exception: yes

cpuid level: 11

wp: yes

flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dt

s acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni

monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm

bogomips: 5054.04

clflush size: 64

cache_alignment: 64

address sizes: 40 bits physical, 48 bits virtual

power management: [8]

….

processor: 14

vendor_id: GenuineIntel

cpu family: 6

model: 44

model name: Intel(R) Xeon(R) CPUE5630@ 2.53GHz

stepping: 2

cpu MHz: 2527.071

cache size: 12288 KB

physical id: 1

siblings: 8

core id: 10

cpu cores: 4

apicid: 53

fpu: yes

fpu_exception: yes

cpuid level: 11

wp: yes

flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm

bogomips: 5054.03

clflush size: 64

cache_alignment: 64

address sizes: 40 bits physical, 48 bits virtual

power management: [8]

processor: 15

vendor_id: GenuineIntel

cpu family: 6

model: 44

model name: Intel(R) Xeon(R) CPUE5630@ 2.53GHz

stepping: 2

cpu MHz: 2527.071

cache size: 12288 KB

physical id: 0

siblings: 8

core id: 10

cpu cores: 4

apicid: 21

fpu: yes

fpu_exception: yes

cpuid level: 11

wp: yes

flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm

bogomips: 5053.98

clflush size: 64

cache_alignment: 64

address sizes: 40 bits physical, 48 bits virtual

power management: [8]

三.相关分析

3.1查看服务器位数

[root@qs-wgdb-1 proc]# arch

x86_64

x86_64:64位系统

X86:32位系统

3.2查看CPU是否支持64bit

[root@qs-wgdb-1 proc]# cat/proc/cpuinfo| grep flags| grep' lm'| wc-l

16

结果大于0,说明支持64bit计算. lm指long mode,支持lm则是64bit。

3.3逻辑CPU个数:

[root@qs-wgdb-1 proc]# cat/proc/cpuinfo| grep'processor'| wc-l

16

注意:这里是逻辑CPU。就是我们在cpuinfo中看到的processor.

3.4物理CPU个数:

[root@qs-wgdb-1 proc]# cat/proc/cpuinfo| grep'physical id'| sort| uniq| wc-l

2

这里指的是物理CPU,就是我们在服务器上看到的2个CPU插槽。

3.5每个物理CPU中Core的个数:

[root@qs-wgdb-1 proc]# cat/proc/cpuinfo| grep'cpu cores'| wc-l

16

3.6是否为超线程:

如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。每个物理CPU中逻辑CPU(可能是core, threads或both)的个数.

[root@qs-wgdb-1 proc]# cat/proc/cpuinfo| grep'siblings'

siblings: 8

siblings: 8

siblings: 8

siblings: 8

siblings: 8

siblings: 8

siblings: 8

siblings: 8

siblings: 8

siblings: 8

siblings: 8

siblings: 8

siblings: 8

siblings: 8

siblings: 8

siblings: 8

四.CPUID

CPUID是CPU生产厂家为识别不同类型的CPU,而为CPU制订的不同的单一的代码;不同厂家的CPU,其CPUID定义也是不同的;如“0F24”(Inter处理器)、“681H”(AMD处理器),根据这些数字代码即可判断CPU属于哪种类型,这就是一般意义上的CPUID。

由于计算机使用的是十六进制,因此CPUID也是以十六进制表示的。Inter处理器的CPUID一共包含四个数字,如“0F24”,从左至右分别表示Type(类型)、Family(系列)、Mode(型号)和Stepping(步进编号)。

从CPUID为“068X”的处理器开始,Inter另外增加了BrandID(品种标识)用来辅助应用程序识别CPU的类型,因此根据“068X”CPUID还不能正确判别Pentium和Celerom处理器。必须配合BrandID来进行细分。

AMD处理器一般分为三位,如“681”,从左至右分别表示为Family(系列)、Mode(型号)和Stepping(步进编号)。

Type(类型)

类型标识用来区别INTEL微处理器是用于由最终用户安装,还是由专业个人计算机系统集成商、服务公司或制作商安装;数字“1”标识所测试的微处理器是用于由用户安装的;数字“0”标识所测试的微处理器是用于由专业个人计算机系统集成商、服务公司或制作商安装的。我们通常使用的INTEL处理器类型标识都是“0”,“0F24”CPUID就属于这种类型。

Family(系列)

系列标识可用来确定处理器属于那一代产品。如6系列的INTEL处理器包括PentiumPro、PentiumII、PentiumIIXeon、PentiumIII和PentiumIIIXeon处理器。5系列(第五代)包括Pentium处理器和采用MMX技术的Pentium处理器。AMD的6系列实际指有K7系列CPU,有DURON和ATHION两大类。最新一代的INTELPentium4系列处理器(包括相同核心的Celerom处理器)的系列值为“F”

Mode(型号)

型号标识可用来确定处理器的制作技术以及属于该系列的第几代设计(或核心),型号与系列通常是相互配合使用的,用于确定计算机所安装的处理器是属于某系列处理器的哪种特定类型。如可确定Celerom处理器是Coppermine还是Tualutin核心;AthlonXP处理器是Paiomino还是Thorouhgbred核心。

Stepping(步进编号)

步进编号用来标识处理器的设计或制作版本,有助于控制和跟踪处理器的更改,步进还可以让最终用户更具体地识别其系统安装的处理器版本,确定微处理器的内部设计或制作特性。步进编号就好比处理器的小版本号,如CPUID为“686”和“686A”就好比WINZIP8.0和8.1的关系。步进编号和核心步进是密切联系的。如CPUID为“686”的PentiumIII处理器是cCO核心,而“686A”表示的是更新版本cD0核心。

BrandID(品种标识)

INTEL从Coppermine核心的处理器开始引入BrandID作为CPU的辅助识别手段。如我们通过BrandID可以识别出处理器究竟是Celerom还是Pentium4。

总结:

从/proc/cpuinfo这个文件,我们可以看出cpu的信息。这个有2个概念。一个是物理CPU个数和逻辑CPU个数。物理CPU就是我们在主板上卡槽看到CPU的个数。这个可以通过physical id这个进行判断。有几个不同的physical id就有几个物理CPU。至于逻辑CPU个数,我们可以通过processor来判断。这个比较简单。如果有2个物理封装的的CPU,有16个逻辑CPU。那么每个物理封装里面就有8个逻辑CPU。

阅读剩余
THE END