张双林 發表於 2019-10-18 14:49:00

Linux服务器参数查看命令

<h2>CPU信息查看:</h2>
<p>cpu信息:cat /etc/cpuinfo 或者&nbsp;cat /proc/cpuinfo</p>
<p>查看cpu物理核数:cat&nbsp;/etc/cpuinfo&nbsp;|grep 'physical&nbsp;id' | sort&nbsp;|uniq|wc&nbsp;-l</p>
<p>查看cpu逻辑核数:cat /etc/cpuinfo | grep processor | wc -l</p>
<p>查看cpu是几核cpu:cat&nbsp;/proc/cpuinfo&nbsp;|grep 'cores' | uniq</p>
<p>查看cpu型号:cat /etc/cpuinfo | grep 'model name'</p>
<p>&nbsp;</p>
<p><img src="https://img2018.cnblogs.com/blog/1820931/201910/1820931-20191018115550030-1439654262.png"></p>
<p>processor :系统中逻辑处理核的编号。对于单核处理器,则课认为是其CPU编号,对于多核处理器则可以是物理核、或者使用超线程技术虚拟的逻辑核<br>vendor_id :CPU制造商 &nbsp;&nbsp;&nbsp;&nbsp;<br>cpu family :CPU产品系列代号<br>model   :CPU属于其系列中的哪一代的代号<br>model name:CPU属于的名字及其编号、标称主频<br>stepping &nbsp; :CPU属于制作更新版本<br>cpu MHz &nbsp; :CPU的实际使用主频<br>cache size&nbsp;&nbsp; :CPU二级缓存大小<br>physical id&nbsp;&nbsp; :物理CPU的标号<br>siblings&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :单个物理CPU内封装的逻辑核数<br>core id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :当前物理核在其所处CPU中的编号,这个编号不一定连续<br>cpu cores&nbsp;&nbsp;&nbsp; :位于相同物理封装中的内核数量<br>apicid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :用来区分不同逻辑核的编号,系统中每个逻辑核的此编号必然不同,此编号不一定连续<br>fpu&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :是否具有浮点运算单元(Floating Point Unit)<br>fpu_exception&nbsp; :是否支持浮点计算异常<br>cpuid level&nbsp;&nbsp; :执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指令会返回不同的内容<br>wp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :表明当前CPU是否在内核态支持对用户空间的写保护(Write Protection)<br>flags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :当前CPU支持的功能<br>bogomips&nbsp;&nbsp; :在系统内核启动时粗略测算的CPU速度(Million Instructions Per Second)<br>clflush size&nbsp; :每次刷新缓存的大小单位<br>cache_alignment :缓存地址对齐单位<br>address sizes&nbsp; &nbsp;&nbsp; :可访问地址空间位数</p>
<p>&nbsp;   &nbsp; &nbsp;① 物理CPU&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 实际Server中插槽上的CPU个数<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 物理cpu数量,可以数不重复的 physical id 有几个&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>&nbsp; &nbsp;   &nbsp; &nbsp;② 逻辑CPU&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Linux用户对 /proc/cpuinfo 这个文件肯定不陌生. 它是用来存储cpu硬件信息的<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 信息内容分别列出了processor 0 – n 的规格。这里需要注意,如果你认为n就是真实的cpu数的话, 就大错特错了<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 一般情况,我们认为一颗cpu可以有多核,加上intel的超线程技术(HT), 可以在逻辑上再分一倍数量的cpu core出来<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 逻辑CPU数量=物理cpu数量 x cpu cores 这个规格值 x 2(如果支持并开启ht)<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 备注一下:Linux下top查看的CPU也是逻辑CPU个数&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ③ CPU核数&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 一块CPU上面能处理数据的芯片组的数量、比如现在的i5 760,是双核心四线程的CPU、而 i5 2250 是四核心四线程的CPU&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 一般来说,物理CPU个数×每颗核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术&nbsp;</p>
<p>   vendor id &nbsp; &nbsp; 如果处理器为英特尔处理器,则字符串是 GenuineIntel。<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; processor &nbsp; &nbsp; 包括这一逻辑处理器的唯一标识符。<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; physical id &nbsp; 包括每个物理封装的唯一标识符。<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; core id &nbsp; &nbsp; &nbsp; 保存每个内核的唯一标识符。<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; siblings &nbsp; &nbsp; &nbsp;列出了位于相同物理封装中的逻辑处理器的数量。<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cpu cores &nbsp; &nbsp; 包含位于相同物理封装中的内核数量。</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1. 拥有相同 physical id 的所有逻辑处理器共享同一个物理插座,每个 physical id 代表一个唯一的物理封装。</p>
<p>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2. Siblings 表示位于这一物理封装上的逻辑处理器的数量,它们可能支持也可能不支持超线程(HT)技术。<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;3. 每个 core id 均代表一个唯一的处理器内核,所有带有相同 core id 的逻辑处理器均位于同一个处理器内核上。简单的说:“siblings”指的是一个物理CPU有几个逻辑CPU,”cpu cores“指的是一个物理CPU有几个核。<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;4. 如果有一个以上逻辑处理器拥有相同的 core id 和 physical id,则说明系统支持超线程(HT)技术。<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;5. 如果有两个或两个以上的逻辑处理器拥有相同的 physical id,但是 core id不同,则说明这是一个多内核处理器。cpu cores条目也可以表示是否支持多内核。</p>
<p>&nbsp;</p>
<h2>硬盘信息查看:</h2>
<p>&nbsp;<strong>查看系统中文件的使用情况:df -h&nbsp; &nbsp;</strong></p>
<p><img src="https://img2018.cnblogs.com/blog/1820931/201910/1820931-20191018114132265-744662639.png"></p>
<p>&nbsp;</p>
<p>Size 分割区总容量&nbsp;</p>
<p><em id="__mceDel">Used 已使用的大小&nbsp;<br>Avail 剩下的大小&nbsp;<br>Use% 使用的百分比&nbsp;<br>Mounted on 路径地址</em></p>
<p>FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。</p>
<h5>查看当前目录下各个文件及目录占用空间大小:<code>du -sh *</code></h5>
<p><img src="https://img2018.cnblogs.com/blog/1820931/201910/1820931-20191018114447616-932509886.png"></p>
<p>&nbsp;</p>
<h2>内存信息查看:</h2>
<p>free -h</p>
<p><img src="https://img2018.cnblogs.com/blog/1820931/201910/1820931-20191018113545265-2045903878.png"></p>
<p>&nbsp;</p>
<p>Mem:内存信息</p>
<p>Swap:Swap交换分区并不是真正的内存,它的本质还是物理硬盘。Swap分区在系统的物理内存(这里应该是运行内存)不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。</p>
<p>* total:内存总数 <br>* used:已使用内存数 <br>* free:空闲内存数 <br>* shared:当前废弃不用 <br>* buffers:缓存内存数(Buffer) <br>* cached:缓存内舒数(Page)</p>
<p>(-/+ buffers/cache)行: <br>* (-buffers/cache): 真正使用的内存数,指的是第一部分的 used - buffers - cached <br>* (+buffers/cache): 可用的内存数,指的是第一部分的 free + buffers + cached</p>
<p>实际上不要看free少就觉得内存不足了,buffers和cached都是可以在使用内存时拿来用的,应该以(-/+ buffers/cache)行的free和used来看。只要没发现swap的使用,就不用太担心,如果swap用了很多,那就要考虑增加物理内存了。<br><br></p>
<h2>显卡信息查看:</h2>
<p>nvidia-smi</p>
<p><img src="https://img2018.cnblogs.com/blog/1820931/201910/1820931-20191018113813122-2019722659.png"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>表格中会显示显卡的一些信息,第一行是版本信息,第二行是标题栏,第三行就是具体的显卡信息了,如果有多个显卡,会有多行,每一行的信息值对应标题栏对应位置的信息。 <br>* GPU:编号 <br>* Fan:风扇转速,在0到100%之间变动,这里是42% <br>* Name:显卡名,这里是TITAN X <br>* Temp:显卡温度,这里是69摄氏度 <br>* Perf:性能状态,从P0到P12,P0性能最大,P12最小 <br>* Persistence-M:持续模式的状态开关,该模式耗能大,但是启动新GPU应用时比较快,这里是off <br>* Pwr:能耗 <br>* Bus-Id:涉及GPU总线的东西 <br>* Disp.A:表示GPU的显示是否初始化 <br>* Memory-Usage:现存使用率,这里已经快满了 <br>* GPU-Util:GPU利用率 <br>* Compute M.:计算模式</p>
<p>需要注意的一点是显存占用率和GPU占用率是两个不一样的东西,类似于内存和CPU,两个指标的占用率不一定是互相对应的。<br><br></p>
<p>&nbsp;</p>
<h2>cpu使用率/负载</h2>
<p>top</p>
<p><img src="https://img2018.cnblogs.com/blog/1820931/201910/1820931-20191018114836481-1138466681.png"></p>
<p>我们来结合这个视图讲解各个数据的含义。</p>
<div id="code68478" class="codebody"><br>第一行:<br>10:01:23 — 当前系统时间<br>126 days, 14:29 — 系统已经运行了126天14小时29分钟(在这期间没有重启过)<br>2 users — 当前有2个用户登录系统<br>load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。</div>
<p>load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。</p>
<div class="codebody">&nbsp;</div>
<div id="code60192" class="codebody"><br>第二行:<br>Tasks — 任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。</div>
<div class="codebody">&nbsp;</div>
<div id="code38165" class="codebody">第三行:cpu状态<br>6.7% us — 用户空间占用CPU的百分比。<br>0.4% sy — 内核空间占用CPU的百分比。<br>0.0% ni — 改变过优先级的进程占用CPU的百分比<br>92.9% id — 空闲CPU百分比<br>0.0% wa — IO等待占用CPU的百分比<br>0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比<br>0.0% si — 软中断(Software Interrupts)占用CPU的百分比</div>
<div class="codebody">&nbsp;</div>
<div id="code77686" class="codebody">第四行:内存状态<br>8306544k total — 物理内存总量(8GB)<br>7775876k used — 使用中的内存总量(7.7GB)<br>530668k free — 空闲内存总量(530M)<br>79236k buffers — 缓存的内存量 (79M)</div>
<div id="code59123" class="codebody"><br>第五行:swap交换分区<br>2031608k total — 交换区总量(2GB)<br>2556k used — 使用的交换区总量(2.5M)<br>2029052k free — 空闲交换区总量(2GB)<br>4231276k cached — 缓冲的交换区总量(4GB)</div>
<p>
<br>这里要说明的是不能用windows的内存概念理解这些数据,如果按windows的方式此台服务器“危矣”:8G的内存总量只剩下530M的可用内存。Linux的内存管理有其特殊性,复杂点需要一本书来说明,这里只是简单说点和我们传统概念(windows)的不同。</p>
<p>第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。</p>
<p>如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的buffers/cached,按这个公式此台服务器的可用内存。</p>
<p><span style="background-color: rgba(255, 255, 255, 1); color: rgba(255, 0, 0, 1)">对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。</span></p>
<div class="codetitle">&nbsp;</div>
<div id="code41370" class="codebody">第六行是空行</div>
<div id="code68073" class="codebody"><br>第七行以下:各进程(任务)的状态监控<br>PID — 进程id<br>USER — 进程所有者<br>PR — 进程优先级<br>NI — nice值。负值表示高优先级,正值表示低优先级<br>VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES<br>RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA<br>SHR — 共享内存大小,单位kb<br>S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程<br>%CPU — 上次更新到现在的CPU时间占用百分比<br>%MEM — 进程使用的物理内存百分比<br>TIME+ — 进程使用的CPU时间总计,单位1/100秒<br>COMMAND — 进程名称(命令名/命令行)</div>
<p>&nbsp;</p>

</div>
<div id="MySignature" role="contentinfo">
    个人理解,如有错误,欢迎指正!<br><br>
来源:https://www.cnblogs.com/gllegolas/p/11697581.html
頁: [1]
查看完整版本: Linux服务器参数查看命令