一、查看内存
1、命令free常用来查看内存的使用情况
输入:free
输出:
total used free shared buffers cached
Mem: 3598396 1490744 2107652 6464 87024 722192
-/+ buffers/cache: 681528 2916868
Swap: 2095100 0 2095100total:物理内存的总大小
used:已经使用的大小
free:剩余的大小
shared:多个进程之间共享的内存大小
buffers/cached:磁盘缓存的大小
Swap:交换空间的大小和使用情况(当前内存还有很多剩余,没有用到swap空间)
备注:
第二行的已使用1490744大小是操作系统使用的内存大小,其中包括buffers(87024)和cached(722192)。1490744=操作系统使用的内存+应用程序使用的内存+buffers+cached
第三行的-/+ buffers/cache是从应用程序的角度来看,应用程序可以使用的内存大小是2916868,2916868包括磁盘缓冲在内存上的空间。因为当应用程序需要内存的时候操作系统会将内存上磁盘缓存的空间回收以供应用程序使用。2916868 = free(2107652) + buffers(87024) + cached(722192)
2、还可以查看/proc/meminfo文件中记录更详细的内存信息
输入:cat /proc/meminfo
输出:
MemTotal: 3598396 kB
MemFree: 2121804 kB
Buffers: 87116 kB
Cached: 722244 kB
SwapCached: 0 kB
Active: 899664 kB
Inactive: 415884 kB
Active(anon): 506916 kB
Inactive(anon): 5732 kB
Active(file): 392748 kB
Inactive(file): 410152 kB
Unevictable: 32 kB
Mlocked: 32 kB
SwapTotal: 2095100 kB
SwapFree: 2095100 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 506216 kB
Mapped: 104192 kB
Shmem: 6464 kB
Slab: 95644 kB
SReclaimable: 76152 kB
SUnreclaim: 19492 kB
KernelStack: 3104 kB
PageTables: 25168 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 3894296 kB
Committed_AS: 3188768 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 39156 kB
VmallocChunk: 34359694855 kB
HardwareCorrupted: 0 kB
AnonHugePages: 256000 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 42944 kB
DirectMap2M: 3627008 kB
3、下面是free的一些常见的参数:
Usage:
free [options]
Options:
-b, --bytes show output in bytes
-k, --kilo show output in kilobytes
-m, --mega show output in megabytes
-g, --giga show output in gigabytes
--tera show output in terabytes
-h, --human show human-readable output
--si use powers of 1000 not 1024
-l, --lohi show detailed low and high memory statistics
-o, --old use old format (without -/+buffers/cache line)
-t, --total show total for RAM + swap
-s N, --seconds N repeat printing every N seconds
-c N, --count N repeat printing N times, then exit
--help display this help and exit
-V, --version output version information and exit
二、查看CPU
1、命令1:lscpu 用来查看简单cpu信息(包括大小端信息)
输入:lscpu
输出:
Architecture: x86_64
CPU 运行模式: 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
每个核的线程数:1
每个座的核数: 1
Socket(s): 1
NUMA 节点: 1
厂商 ID: GenuineIntel
CPU 系列: 6
型号: 58
步进: 9
CPU MHz: 0.000
BogoMIPS: 6967.29
L1d 缓存: 32K
L1d 缓存: 32K
L2d 缓存: 6144K
2、还可以查看/proc/cpuinfo文件中CPU的信息
输入:cat /proc/cpuinfo
输出:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 58
model name : Intel(R) Core(TM) i5-3450 CPU @ 3.10GHz
stepping : 9
microcode : 0x19
cpu MHz : 0.000
cache size : 6144 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc rep_good nopl pni monitor ssse3 lahf_lm
bogomips : 6967.29
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
三、top命令详解
输入:top
输出:
第一行:
15:39:41 当前系统时间
9:05 系统已经运行了9小时5分钟(在这期间没有重启过)
4 users 当前有4个用户登录系统(每一个终端登陆该系统就相当于是一个用户)
load average: 0.00, 0.01, 0.05 load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
第二行:
Tasks 任务(进程),系统现在共有166个进程,其中处于运行中的有2个,164个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行:cpu状态
0.0% us 用户空间占用CPU的百分比。
0.0% sy 内核空间占用CPU的百分比。
0.0% ni 改变过优先级的进程占用CPU的百分比
100.0% id 空闲CPU百分比
0.0% wa IO等待占用CPU的百分比
0.0% hi 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si 软中断(Software Interrupts)占用CPU的百分比
第四行:内存状态
3598396k total 物理内存总量
1490564k used 使用中的内存总量
2107832k free 空闲内存总量
87244k buffers 缓存的内存量
第五行:swap交换分区
2095100k total 交换区总量
0k used 使用的交换区总量
2095100k free 空闲交换区总量
722252k cached 缓冲的交换区总量
参考:
http://www.cnblogs.com/xd502djj/archive/2011/03/01/1968041.html