Linux查看内存信息
Linux查看内存信息
1、简单查看内存信息
[root@rabbitmq1 ~]# free -h
total used free shared buffers cached
Mem: 94G 82G 11G 2.6M 1.8G 36G
-/+ buffers/cache: 43G 50G
Swap: 0B 0B 0B
free参数说明:
-b 以Byte为单位显⽰内存使⽤情况。
-k 以KB为单位显⽰内存使⽤情况。
-m 以MB为单位显⽰内存使⽤情况。
-h 以合适的单位显⽰内存使⽤情况,最⼤为三位数,⾃动计算对应的单位值。单位有:
B = bytes
K = kilos
M = megas
G = gigasT = teras
-o 不显⽰缓冲区调节列。
-s<间隔秒数> 持续观察内存使⽤状况。
-t 显⽰内存总和列。
-V 显⽰版本信息。
2、查看内存槽数、哪个槽位插了内存,容量
[root@rabbitmq1 ~]# dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range
Size: 32 GB
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: 32 GB
Size: No Module Installed
Size: 32 GB
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
3、查看最⼤⽀持内存数
[root@rabbitmq1 ~]# dmidecode|grep -P 'Maximum\s+Capacity'
Maximum Capacity: 2304 GB
Maximum Capacity: 2304 GB
Maximum Capacity: 2304 GB
Maximum Capacity: 2304 GB
4、查看槽位上内存的速率,没插就是unknown
[root@rabbitmq1 ~]# dmidecode|grep -A16 "Memory Device"|grep 'Speed'
Speed: 2666 MHz
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: 2666 MHz
Speed: Unknown
Speed: 2666 MHz
Speed: Unknown
Speed: Unknown Speed: Unknown
Speed: Unknown
Speed: Unknown
Linux系统查看CPU使用率、内存使用率、磁盘使用率
Linux系统查看CPU使⽤率、内存使⽤率、磁盘使⽤率
⼀、查看CPU使⽤率1. top 命令
[root@sss ~]# top
top - 16:54:38 up 7 days, 5:13, 3 users, load average: 0.00, 0.01, 0.05
Tasks: 77 total, 2 running, 75 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 0.3 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1882232 total, 813020 free, 330164 used, 739048 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 1386608 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
COMMAND
17215 root 0 -20 127504 12176 9560 S 0.7 0.6 21:46.45
AliYunDun
2770 root 20 0 573932 17232 6088 S 0.3 0.9 1:11.38
tuned
1 root 20 0 43548 3844 2588 S 0.0 0.2 0:06.54
systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:08.75 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
... ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
top命令可以看到总体的系统运⾏状态和cpu的使⽤率 。
linux查看系统设备型号信息
linux查看系统设备型号信息
1. 查看服务器及内存型号信息
1.1. dmidecode简介
DMI(Desktop Management Interface,DMI)直译就是“桌⾯管理界⾯”,它就是通过收集系统信息来管理系统。其主要组成部分是Management Information Format(MIF)数据库。这个数据库包括了所有有关电脑系统和配件的信息。通过DMI,⽤户可以获取序列号、电脑⼚商、串⼝信息以及其它系统配件信息。DMI充当了管理⼯具和系统层之间接⼝的⾓⾊。它建⽴了标准的可管理系统更加⽅便了电脑⼚商和⽤户对系统的了解。dmidecode就是将DMI数据库⾥⾯的信息解码后,以⽂本的⽅式进⾏展现的。dmidecode遵循SMBIOS/DMI标准,其输出的信息包括BIOS、系统、主板、处理器、内存、缓存等等。因此我们可以在Linux系统下通过dmidecode来获取有关硬件⽅⾯的信息。(DMI信息是可以⼈为篡改,存在查询结果不准确的问题。不过⼀般正规途径的机器不会去被篡改。)SMBIOS(System Management BIOS)是主板或系统制造者以标准格式显⽰产品管理信息所需遵循的统⼀规范。SMBIOS和DMI是由⾏业指导机构Desktop Management Task Force(DMTF)起草的开放性的技术标准,其中DMI设计适⽤于任何的平台和操作系统。
1.2. dmidecode参数选项
以下为dmidecode的命令选项:
命令参数描述 -d, --dev-mem FILE 从设备⽂件读取信息,输出内容与不加参数标准输出相同。 -h, --help 显⽰帮助信息 -q, --quiet 安静模式,尽量不输出冗余的信息。 -s, --string KEYWORD 只显⽰指定DMI字符串的信息。 -t, --type TYPE 只输出指定类型的信息 -H, --handle HANDLE 只输出指定句柄的信息 -u, --dump 显⽰未解码的原始条⽬内容。 --dump-bin FILE 输出⼆进制格式的DMI数据⽂件 --from-dump FILE 从⼆进制的DMI数据⽂静读取数据 --no-sysfs禁⽌从sysfs⽂件读取DMI数据 --oem-string N只从OEM字符串中读取数据 -V, --version显⽰版本信息
查看Linux服务器CPU使用率、内存使用率、磁盘空间占用率、负载情况
查看Linux服务器CPU使⽤率、内存使⽤率、磁盘空间占⽤率、
负载情况
[root@server script]# vi monitor.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: nulige
import os, time
last_worktime=0
last_idletime=0
def get_cpu():
global last_worktime, last_idletime
f=open("/proc/stat","r")
line=""
while not "cpu " in line: line=f.readline()
f.close()
spl=line.split(" ")
worktime=int(spl[2])+int(spl[3])+int(spl[4])
idletime=int(spl[5])
dworktime=(worktime-last_worktime)
didletime=(idletime-last_idletime)
rate=float(dworktime)/(didletime+dworktime)
last_worktime=worktime
last_idletime=idletime
if(last_worktime==0): return 0
return rate
def get_mem_usage_percent():
try:
f = open('/proc/meminfo', 'r')
for line in f:
if line.startswith('MemTotal:'):
mem_total = int(line.split()[1])
elif line.startswith('MemFree:'):
mem_free = int(line.split()[1])
linux下查看cpu是几核的?内存?
linux下查看cpu是⼏核的?内存?
⼏个cpumore /proc/cpuinfo |grep "physical id"|uniq|wc -l
内存使⽤情况?free -h
每个cpu是⼏核(假设cpu配置相同)more /proc/cpuinfo |grep "physical id"|grep "0"|wc -l
cat /proc/cpuinfo | grep processor
1. 查看物理CPU的个数#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l 2. 查看逻辑CPU的个数#cat /proc/cpuinfo |grep "processor"|wc -l 3. 查看CPU是⼏核#cat /proc/cpuinfo |grep "cores"|uniq 4. 查看CPU的主频#cat /proc/cpuinfo |grep MHz|uniq
# uname -a
Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux
(查看当前操作系统内核信息)
# cat /etc/issue | grep Linux
Red Hat Enterprise Linux AS release 4 (Nahant Update 5)
(查看当前操作系统发⾏版信息)
# 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 physical | uniq -c
4 physical id : 0
4 physical id : 1
Linux查看进程的内存占用情况
Linux查看进程的内存占用情况
1、top
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
内容解释:
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称
常用的命令:
P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行
2、/proc/pid
测量一个进程占用了多少内存,linux为我们提供了一个很方便的方法,/proc目录为我们提供了所有的信息
说明:
/proc/N pid为N的进程信息
/proc/N/cmdline 进程启动命令
/proc/N/cwd
链接到进程当前工作目录
/proc/N/environ 进程环境变量列表
/proc/N/exe 链接到进程的执行命令文件
/proc/N/fd 包含进程相关的所有的文件描述符
/proc/N/maps 与进程相关的内存映射信息
/proc/N/mem 指代进程持有的内存,不可读
/proc/N/root 链接到进程的根目录
/proc/N/stat 进程的状态
/proc/N/statm 进程使用的内存的状态
/proc/N/status 进程状态信息,比stat/statm更具可读性
/proc/self 链接到当前正在运行的进程
linux中的state命令的用法
linux中的state命令的用法
state命令是Linux系统中常用的一个工具,用于查看系统的状态信息和各个进程的状态。该命令可以用于查看系统的CPU、内存、磁盘等资源的使用情况,以及各个进程的运行状态和相关信息。
一、命令简介
state命令的使用非常简单,只需要在终端中输入state命令即可。该命令会输出大量的信息,包括系统的状态、各个进程的状态、CPU、内存、磁盘等资源的使用情况等。通过使用state命令,用户可以快速了解系统的运行状态,并针对系统问题进行诊断和解决。
二、命令参数
state命令的基本语法如下:
state-u[-s][-p][-m][-k][-v]
其中,-u表示显示所有进程的状态信息;-s表示显示系统状态信息;-p表示显示进程的详细信息;-m表示显示内存使用情况;-k表示以KB为单位显示内存使用情况;-v表示显示详细输出信息。
除了基本参数外,state命令还有一些其他参数,如-l参数可以显示系统负载信息,-a参数可以显示所有进程和系统的详细信息等。
三、使用示例
1.查看系统状态信息:
$state-s
该命令会输出系统的状态信息,包括CPU、内存、磁盘等资源的使用情况,以及系统的负载等信息。
2.查看进程状态和详细信息:
$state-p 该命令会显示所有进程的状态和详细信息,包括进程ID、进程名称、运行状态、内存使用情况等信息。
3.查看内存使用情况:
$state-m
该命令会以MB为单位显示内存使用情况,包括已使用内存、空闲内存、缓存内存等信息。
4.查看进程CPU使用情况:
$state-u-p|grep"cpu"
该命令会显示所有进程的CPU使用情况,包括进程的CPU使用率、CPU时间等信息。
四、注意事项
在使用state命令时,需要注意一些事项,如该命令会输出大量的信息,需要耐心等待输出结果;同时,一些敏感信息可能会被输出,需要注意保护隐私。此外,state命令需要以root权限运行才能获取完整的系统状态信息。
Linux下查看占用CPU与内存最高的进程
Linux下查看占⽤CPU与内存最⾼的进程
⼀、linux下获取占⽤CPU资源最多的10个进程1、⾸先使⽤命令查看进程及占⽤CPU及内存
ps aux
2、使⽤sort对CPU占⽤进⾏排序
ps aux|sort -nr -k3参数解析sort #排序命令-nr #默认使⽤字符串排序n代表使⽤数值进⾏排序 默认从⼩到⼤排序 r代表反向排序-k3 #以第3列进⾏排序可以看到ps aux输出的第⼀⾏也参与的排序,去除掉
3、把输⼊第⼀⾏删除,然后剩余的⾏参与排序并取前10位
ps aux|grep -v PID|sort -nr -k3|head -n10
4、如需要显⽰PID,则先运⾏输出第⼀⾏然后再进⾏排序
ps aux|head -n1;ps aux|grep -v PID|sort -nr -k3|head -n10
5、同理输出内存占⽤多的进程,内存参数在第四⾏
ps aux|head -n1;ps aux|grep -v PID|sort -nr -k4|head -n10
6、补充内容:ps aux输出内容解释PID:进程的IDUSER:进程所有者PR:进程的优先级别,越⼩越优先被执⾏NInice:值VIRT:进程占⽤的虚拟内存RES:进程占⽤的物理内存SHR:进程使⽤的共享内存S:进程的状态。S表⽰休眠,R表⽰正在运⾏,Z表⽰僵死状态,N表⽰该进程优先值为负数%CPU:进程占⽤CPU的使⽤率%MEM:进程使⽤的物理内存和总内存的百分⽐TIME+:该进程启动后占⽤的总的CPU时间,即占⽤CPU使⽤时间的累加值。COMMAND:进程启动命令名称
out of memory解决方法 linux -回复
out of memory解决方法 linux -回复
"Out of memory"错误是在Linux系统中常见的问题之一。当系统没有足够的可用内存时,操作系统会给出这个错误提示。本文将以"out of
memory解决方法 linux"为主题,详细解释这个问题,并提供一步一步的解决方案。
# 1. 什么是"out of memory"错误?
当系统中的可用内存不足以满足正在运行的程序的需求时,操作系统会返回"out of memory"错误。这种情况下,系统不能再为其他程序分配内存。这个错误通常发生在系统负载较高、同时运行多个大型程序或使用大量资源时。
# 2. 检查系统内存使用情况
首先,我们需要检查系统的内存使用情况,确定是否真的发生了内存耗尽的情况。可以使用以下命令来查看系统内存信息:
free -h
这个命令将显示系统的总内存、已用内存、可用内存以及缓存和交换空间的使用情况。如果"used"列的值接近或超过总内存大小,那么很可能是内存耗尽问题。
# 3. 查看系统日志
接下来,我们可以通过查看系统日志来获取更多关于内存不足的信息。系统日志通常位于/var/log目录下,可以使用下面的命令来查看最近的日志文件:
tail -n 100 /var/log/messages
这个命令将显示最后100行日志内容。如果有与内存相关的错误消息,可以根据这些信息来定位问题。
# 4. 优化内存使用
如果确实发生了内存耗尽的问题,我们可以通过一些方式来优化内存使用,以便更好地管理和分配可用内存。以下是一些常见的方法:
- 关闭不必要的进程:使用top命令或hstop命令查看当前运行的进程并关闭一些不必要的进程,以释放内存。
- 增加交换空间:交换空间是磁盘上的一块特殊空间,可以用作内存的延伸。可以通过创建和启用交换分区或交换文件来增加交换空间。
- 调整内核参数:可以通过编辑/etc/sysctl.conf文件来调整内核参数,以改善内存管理。例如,可以调整内存的缓冲区和缓存大小,以释放更多的可用内存。
3.linuxtop命令详解
3.linuxtop命令详解
top命令是Linux下常⽤的性能分析⼯具,能够实时显⽰系统中各个进程的资源占⽤状况,类似于Windows的任务管理器。下⾯详细介绍它的
使⽤⽅法。
内存信息。内容如下:
Mem: 191272k total物理内存总量
173656k used使⽤的物理内存总量
17616k free空闲内存总量
22052k buffers⽤作内核缓存的内存量
Swap: 192772k total交换区总量
0k used使⽤的交换区总量
192772k free空闲交换区总量
123988k cached缓冲的交换区总量。
内存中的内容被换出到交换区,⽽后⼜被换⼊到内存,但使⽤过的交换区尚未被覆盖,
该数值即为这些内容已存在于内存中的交换区的⼤⼩。
相应的内存再次被换出时可不必再对交换区写⼊。
进程信息区
统计信息区域的下⽅显⽰了各个进程的详细信息。⾸先来认识⼀下各列的含义。
序号列名含义
aPID进程id
bPPID⽗进程id
cRUSERReal user name
dUID进程所有者的⽤户id
eUSER进程所有者的⽤户名
fGROUP进程所有者的组名
gTTY启动进程的终端名。不是从终端启动的进程则显⽰为 ?
hPR优先级
iNInice值。负值表⽰⾼优先级,正值表⽰低优先级
jP最后使⽤的CPU,仅在多CPU环境下有意义
k%CPU上次更新到现在的CPU时间占⽤百分⽐
lTIME进程使⽤的CPU时间总计,单位秒
mTIME+进程使⽤的CPU时间总计,单位1/100秒
n%MEM进程使⽤的物理内存百分⽐
oVIRT进程使⽤的虚拟内存总量,单位kb。VIRT=SWAP+RES
pSWAP进程使⽤的虚拟内存中,被换出的⼤⼩,单位kb。
qRES进程使⽤的、未被换出的物理内存⼤⼩,单位kb。RES=CODE+DATA
rCODE可执⾏代码占⽤的物理内存⼤⼩,单位kb
sDATA可执⾏代码以外的部分(数据段+栈)占⽤的物理内存⼤⼩,单位kb
tSHR共享内存⼤⼩,单位kb
Linuxdmidecode命令
Linuxdmidecode命令
1.linux系统⾃带的dmidecode⼯具查询服务器硬件信息
dmidecode ⽤于获取服务器的硬件信息,通常是在不打开计算机机箱的情况下使⽤该命令来查找硬件详细信息
这个命令可以查看内存的⼏乎所有信息,包括频率 ⼤⼩等等,另外这个命令强⼤到⼏乎可以查任何硬件信息 包括设备型号、bios 、cpu、主
板 、处理器、内存、缓存详细信息等等都例举出来
常见的⼏种⽤法
语法dmidecode [选项]
选项-d:(default:/dev/mem)从设备⽂件读取信息,输出内容与不加参数标准输出相同。
-h:显⽰帮助信息。
-s:只显⽰指定DMI字符串的信息。(string)
-t:只显⽰指定条⽬的信息。(type)
-u:显⽰未解码的原始条⽬内容。
--dump-bin file:将DMI数据转储到⼀个⼆进制⽂件中。
--from-dump FILE:从⼀个⼆进制⽂件读取DMI数据。
-V:显⽰版本信息。
[root@localhost ~]$ dmidecode # 打印所有硬件信息
[root@localhost ~]$ dmidecode -q # 打印所有硬件信息,⽐较简洁
[root@localhost ~]$ dmidecode | grep 'Product Name' # 以过滤的⽅式来查看指定的硬件信息(查看服务器型号)
[root@localhost ~]$ dmidecode -t bios # 查看BIOS相关的硬件信息
[root@localhost ~]$ dmidecode -t system # 查看系统相关的硬件信息
[root@localhost ~]$ dmidecode -t baseboard # 查看主板相关的硬件信息
[root@localhost ~]$ dmidecode -t chassis # 查看机箱相关的硬件信息
[root@localhost ~]$ dmidecode -t processor # 查看处理器相关的硬件信息
