测试机器的硬件信息
查看CPU信息型号
#cat/proc/cpuinfo|grep name| cut-f2-d: |uniq-c
8 Intel(R)Xeon(R)CPU E5410@2.33GHz
(看到有8个逻辑CPU,也知道了CPU型号)
#cat /proc/cpuinfo|grep phys ical |uni q-c
4 phys ic al id :0
4 phys ic al id : 1
(说明实际上是两颗4核的CPU)
#getconf LONG_BIT
32
(说明当前CPU运行在32bit模式下,但不代表CPU不支持64bit)
#c at/p ro c/c puinfo|grep fla g s |gre p' lm' |wc-l
8
(结果大于0,说明支持64b it计算. lm指lo ng mo de,支持lm则是64bit)
再完整看cpu详细信息,不过大部分我们都不关心而已.
#dmidecode|grep'Processor Information'
查看内存信息
#c at/p ro c/me min fo
#una me-a
Linux euis12.6.9-55.ELsmp#1 SMP Fri Apr 2017:03:35
EDT 2007 i686 i686 i386 GNU/Linux
(查看当前操作系统内核信息)
#c at/etc/i s sue |gre p L inux
Red Hat Enterprise Linux AS release 4(Nahant Update 5)
(查看当前操作系统发行版信息)
查看机器型号
#dmidec ode|grep"P ro duct N ame"
查看网卡信息
#dmes g|grep-i eth
L inux查看C P U和内存使用情况
在系统维护的过程中随时可能有需要查看CPU使用率并根据相应信息分析系统状况的需要。在C entO S中可以通过top命令来查看CPU使用状况。运行top
命令后 C PU使用状态会以全屏的方式显示并且会处在对话的模式--用基于top的命令可以控制显示方式等等。退出to p的命令为q 在to p运行中敲q键一次 。
操作实例:
在命令行中输入“to p”
即可启动to pto p的全屏对话模式可分为3部分系统信息栏、命令输入栏、进程列表栏。
第一部分--最上部的系统信息栏
第一行to p
“00:1 1:04”为系统当前时刻
“3:35”为系统启动后到现在的运作时间
“2 users”为当前登录到系统的用户更确切的说是登录到用户的终端数--同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统这里的用户数也将表现为终端的数目
“load average”为当前系统负载的平均值后面的三个值分别为1分钟前、 5分钟前、 15分钟前进程的平均数一般的可以认为这个数值超过CPU数目时 CPU将比较吃力的负载当前系统所包含的进程
第二行Task s
“59 total”为当前系统进程总数
“1 running”为当前运行中的进程数
“58 sleeping”为当前处于等待状态中的进程数
“0 stoped”为被停止的系统进程数
“0 zombie”为被复原的进程数
第三行Cpus
分别表示了CPU当前的使用率
第四行Mem
分别表示了内存总量、当前使用量、空闲内存量、 以及缓冲使用中的内存量
第五行S wap
表示类别同第四行Mem 但此处反映着交换分区Swap的使用情况。通常交换分区Swap被频繁使用的情况将被视作物理内存不足而造成的。
第二部分--中间部分的内部命令提示栏to p运行中可以通过to p的内部命令对进程的显示方式进行控制。 内部命令如下表s
-改变画面更新频率l-关闭或开启第一部分第一行to p信息的表示t-关闭或开启第一部分第二行Tasks和第三行Cpus信息的表示m-关闭或开启第一部分第四行Mem和第五行Swap信息的表示
N-以PID的大小的顺序排列表示进程列表第三部分后述
P-以CPU占用率大小的顺序排列进程列表第三部分后述
M-以内存占用率大小的顺序排列进程列表第三部分后述h-显示帮助n-设置在进程列表所显示进程的数量q-退出to ps -
改变画面更新周期
第三部分--最下部分的进程列表栏
以P ID区分的进程列表将根据所设定的画面更新时间定期的更新。通过top内部命令可以控制此处的显示方式
在L inux下查看内存我们一般用fre e命令
[root@scs-2 tmp]#freetotal used free shared buffers cached
Mem: 3266180 3250004 16176 0 110652 2668236
-/+buffers/cache: 471116 2795064
S wa p: 2048276 80160 1968116
下面是对这些数值的解释tot al:总计物理内存的大小。used:已使用多大。fre e:可用有多少。
S h are d:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。
第三行(-/+buffers/cached):used:已使用多大。fre e:可用有多少。
第四行就不多解释了。
区别第二行(mem)的used/free与第三行(-/+buffers/cache)use d/fre e的区别。 这两个的区别在于使用的角度来看第一行是从OS的角度来看 因为对于OSbuffers/cache d都是属于被使用所以他的可用内存是16176KB,已用内存是3250004KB,其中包括 内核O S使用+App lic ation(X,orac le,etc)使用
的+buffers+c ached.
第三行所指的是从应用程序角度来看对于应用程序来说 buffers/cached是等于可用的 因为buffer/c ached是为了提高文件读取的性能 当应用程序需在用到内存的时候 buffer/cache d会很快地被回收。
所以从应用程序的角度来说可用内存=系统free memory+buffers+cached。如上例
2795064=16176+110652+2668236
接下来解释什么时候内存会被交换 以及按什么方交换。 当可用内存少于额定值的时候就会开会进行交换。
如何看额定值c at /p ro c/me min fo
[root@scs-2 tmp]#cat/proc/meminfo
MemTotal: 3266180 kB
MemFree: 17456 kB
Buffers: 111328 kB
Cached: 2664024 kB
SwapCached: 0 kB
Active: 467236 kB
Ina ctive: 2644928 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTo ta l: 3266180 kB
LowF ree: 17456 kB
SwapTotal: 2048276 kB
SwapFre e: 1968116 kB
Dirty: 8 kB
Writeback: 0 kB
Mapped: 345360 kB
Slab: 112344 kB
Committed_AS: 535292 kB
PageTables: 2340 kB
VmallocTotal:536870911 kB
VmallocUsed: 272696 kB
Vmalloc Chunk:536598175 kB
HugeP ages_Total: 0
HugePages_Free: 0
Hugepagesize: 2048 kB
用fre e-m查看的结果
[root@scs-2 tmp]#free-mtotal used free shared buffers cached
Mem: 3189 3173 16 0 107 2605
-/+buffers/cache: 460 2729
S wap: 2000 78 1921
查看/pro c/kc ore文件的大小内存镜像
[root@scs-2 tmp]#ll -h/proc/kcore
-r-------- 1 root root 4.1 G Jun 12 12:04/pro c/kcore
备注
占用内存的测量
测量一个进程占用了多少内存 linux为我们提供了一个很方便的方法 /pr o c目录为我们提供了所有的信息实际上top等工具也通过这里来获取相应的信息。/pro c/me minfo机器的内存使用信息
/proc/pid/maps pid为进程号显示当前进程所占用的虚拟地址。
/pro c/p id/statm进程所占用的内存
[ro ot@lo calho st~]#cat/pro c/self/statm
6545744003340
输出解释
CPU以及CPU0。 。 。的每行的每个参数意思以第一行为例为
参数解释/proc//s tatus
Size(pages)任务虚拟地址空间的大小VmS ize/4
Resident(pages)应用程序正在使用的物理内存的大小VmRSS/4
Shared(pa ge s)共享页数0
Trs(pages)程序所拥有的可执行虚拟内存的大小VmExe/4
Lrs(pages)被映像到任务的虚拟内存空间的库的大小VmLib/4
Drs(page s)程序数据段和用户态的栈的大小 VmData+VmS tk 4dt(pages)04
查看机器可用内存
/pro c/28248/>freetotal used free shared buffers cached
Mem: 1023788926400973880134668503688
-/+buffers/c ache:288044735744
S wap: 195992089608 1870312
我们通过fre e命令查看机器空闲内存时会发现fr e e的值很小。这主要是因为在linux中有这么一种思想 内存不用白不用 因此它尽可能的cache和buffe r一些数据 以方便下次使用。但实际上这些内存也是可以立刻拿来使用的。
所以空闲内存=free+buffers+cached=total-used
to p命令是L inux下常用的性能分析工具能够实时显示系统中各个进程的资源占用状况类似于Windows的任务管理器。下面详细介绍它的使用方法。top-02:53:32 up 16 days, 6:34, 17 users, load average:0.24,0.21,0.24
Tasks:481 total, 3 running,474 sleeping, 0 stopped, 4 zomb ie
Cpu(s): 10.3%us, 1.8%sy, 0.0%ni,86.6%id, 0.5%wa, 0.2%hi, 0.6%si, 0.0%stMem: 4042764k total, 4001096k used, 41668k free, 383536k buffers
Swap: 2104472k total, 7900k used, 2096572k free, 1557040k cached
PID USER PR NI VIRT RES SHR S%CPU%MEM TIME+COMMAND32497jacky 20 0 669m222m 31mR 10 5.6 29:27.62firefox
4788 yiuwing 20 0 257m 18m 13mS 5 0.5 5:42.44 konsole
5657 Liuxiaof 20 0 585m 159m 30m S 4 4.0 5:25.06 firefox
4455 xiefc 20 0 542m 124m 30mR 4 3.1 7:23.03 firefox
6188 Liuxiaof 20 0 191m 17m 13mS 4 0.5 0:01.16 konsole
统计信息区前五行是系统整体的统计信息。第一行是任务队列信息 同up t ime命令的执行结果。其内容如下
01:06:48当前时间up1:22系统运行时间格式为时:分
1 user当前登录用户数load average:0.06,0.60,0.48系统负载 即任务队列的平均长度。
三个数值分别为1分钟、 5分钟、 15分钟前到现在的平均值。
第二、三行为进程和CPU的信息。当有多个CPU时这些内容可能会超过两行。内容如下
Task s:29 tota l进程总数
1 running正在运行的进程数
28 sleeping睡眠的进程数
0 stopped停止的进程数
0zombie僵尸进程数
Cpu(s):0.3%us用户空间占用CPU百分比
1.0%sy内核空间占用CPU百分比
0.0%ni用户进程空间内改变过优先级的进程占用CPU百分比
98.7%id空闲CPU百分比
0.0%wa等待输入输出的C P U时间百分比
0.0%hi
0.0%si
最后两行为内存信息。 内容如下
Mem: 191272k to tal物理内存总量
173656k used使用的物理内存总量
17616k fre e空闲内存总量
22052k buffers用作内核缓存的内存量
Swap: 192772k total交换区总量
0k used使用的交换区总量
192772k free空闲交换区总量
123988k cached缓冲的交换区总量。
内存中的内容被换出到交换区而后又被换入到内存但使用过的交换区尚未被覆盖
该数值即为这些内容已存在于内存中的交换区的大小。
相应的内存再次被换出时可不必再对交换区写入。
进程信息区统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。
序号列名含义a PID进程idb PPID父进程idc RUSER Real user named UID进程所有者的用户ide USER进程所有者的用户名f GROUP进程所有者的组名g TTY启动进程的终端名。不是从终端启动的进程则显示为?h PR优先级i NI nice值。负值表示高优先级正值表示低优先级j P最后使用的CPU仅在多CPU环境下有意义k%CPU上次更新到现在的CPU时间占用百分比l TIME进程使用的CPU时间总计单位秒m TIME+进程使用的CPU时间总计单位1/100秒n%MEM进程使用的物理内存百分比o VIRT进程使用的虚拟内存总量单位kb。VIRT=SWAP+RESp SWAP进程使用的虚拟内存中被换出的大小单位kb。q RES进程使用的、未被换出的物理内存大小单位kb。 RES=CODE+DATAr CODE可执行代码占用的物理内存大小单位kbs DATA可执行代码以外的部分(数据段+栈)占用的物理内存大小单位kbt SHR共享内存大小单位kbu nFLT页面错误次数
v nDRT最后一次写入到现在被修改过的页面数。wS进程状态。
D=不可中断的睡眠状态
R=运行
S=睡眠
T=跟踪/停止
Z=僵尸进程x COMMAND命令名/命令行y WCHAN若该进程在睡眠则显示睡眠中的系统函数名z Flags任务标志参考sched.h
默认情况下仅显示比较重要的PID、U SER、 P R、NI、VIRT、 RES、 S HR、S、%CPU、%MEM、 TIME+、 COMMAND列。可以通过下面的快捷键来更改显示内容。
更改显示内容通过f键可以选择显示的内容。按f键之后会显示列的列表按a-z即可显示或隐藏对应的列最后按回车键确定。
按o键可以改变列的显示顺序。按小写的a-z可以将相应的列向右移动而大写的A-Z可以将相应的列向左移动。最后按回车键确定。
按大写的F或O键然后按a-z可以将进程按照相应的列进行排序。而大写的R键可以将当前的排序倒转。
==============================to p命令使用过程中还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。
空格立刻刷新。
P根据CPU使用大小进行排序。
T根据时间、累计时间排序。q退出to p命令。m切换显示内存信息。t切换显示进程和CPU状态信息。c切换显示命令名称和完整命令行。
M根据使用内存大小进行排序。
W将当前设置写入~/.top rc文件中。这是写top配置文件的推荐方法。
可以看到 to p命令是一个功能十分强大的监控系统的工具对于系统管理员而言尤其重要。但是它的缺点是会消耗很多系统资源。
应用实例
hostkey应该不用说大家都是比较熟悉的荷兰服务器品牌商家,主打荷兰、俄罗斯机房的独立服务器,包括常规服务器、AMD和Intel I9高频服务器、GPU服务器、高防服务器;当然,美国服务器也有,在纽约机房!官方网站:https://hostkey.com/gpu-dedicated-servers/比特币、信用卡、PayPal、支付宝、webmoney都可以付款!CPU类型AMD Ryzen9 ...
国庆钜惠 最低5折起 限量促销CYUN专注海外精品服务器资源,主营香港CN2 GIA、美国CERA、美国高防服务器资源,实体公司,ISP/IDC资质齐全,客服配备齐全。本次针对国庆推出非常给力的促销活动,旗下所有平台同享,新老客户同享,限时限量,售完截止。活动截止时间:2021年10月9日官网地址:www.cyun.net参与机型:香港CN2 GIA云服务器、香港双程CN2云服...
Hostodo商家算是一个比较小众且运营比较久的服务商,而且还是率先硬盘更换成NVMe阵列的,目前有提供拉斯维加斯和迈阿密两个机房。看到商家这两年的促销套餐方案变化还是比较大的,每个月一般有这么两次的促销方案推送,可见商家也在想着提高一些客户量。毕竟即便再老的服务商,你不走出来让大家知道,迟早会落寞。目前,Hostodo有提供两款大流量的VPS主机促销,机房可选拉斯维加斯和迈阿密两个数据中心,且都...