首页 > 代码库 > 系统资源查看

系统资源查看

系统资源查看

free

         物理内存与虚拟内存的使用情况

         free [-b|-k|-m|-g] [-t]

      -b               以Byte为单位显示内存使用情况。 

      -k               以KB为单位显示内存使用情况。 

      -m             以MB为单位显示内存使用情况。

      -g               以GB为单位显示内存使用情况。 

      -h               以易读方式显示内存使用情况

      -o               不显示缓冲区调节列。 

      -s<间隔秒数>          持续观察内存使用状况。 

      -t               显示内存总和列。 

      -V              显示版本信息。

         物理内存使用

                   A       应用程序使用的

                   B       未分配的

                   C       buffer

                   D      cache

         例

    技术分享

    技术分享

uname

         查看系统与内核的相关信息

         uname [-asrmpi]

                   a       所有系统相关的信息,以下的所有都会被列出来

                   s       系统内核名称

                   r        内核版本

                   m      本系统的硬件名称

                   p       CPU的类型

                   i        硬件的平台

dmesg

         查看内核产生的信息

         例

                   dmesg | grep -i hd

vmstat

    vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。

         缺点:无法对某个进程深入分析

    vmstat [-a] [-n] [-S unit] [delay [ count]]

         vmstat [-s] [-n] [-S unit]

         vmstat [-m] [-n] [delay [ count]]

         vmstat [-d] [-n] [delay [ count]]

         vmstat [-p disk partition] [-n] [delay [ count]]

         vmstat [-f]

         vmstat [-V]

                   -a:          显示活跃和非活跃内存

                   -f:           显示从系统启动至今的fork数量 。

                   -m:         显示slabinfo

                   -n:          只在开始时显示一次各字段名称。

                   -s:          显示内存相关统计信息及多种系统活动数量。

                   delay:    刷新时间间隔。如果不指定,只显示一条结果。

                   count:   刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。

                   -d:          显示磁盘相关统计信息。

                   -p:          显示指定磁盘分区统计信息

                   -S:          使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)

                   -V:          显示vmstat版本信息。

         例

    技术分享

         分析

                   进程

                            r        经常大于当前物理CPU数,说明需要增加CPU

                   内存与SWAP

                            swpd很高,si,so一直很低   内存够用

                            buff  被用来做为缓存的内存数,一般对块设备的读写才需要缓冲

                            cache        表示page cached的内存数量,一般作为文件系统cached,频繁访问的文件都会被cached,如果cache值较大,说明cached的文件数较多,如果此时IO中bi比较小,说明文件系统效率比较好

                   system的in与cs

                            两者越高         说明内核态占用CPU越高

                   IO

                            bi,bo高    系统IO忙碌

                   CPU

                            us高         优化算法

                            sy高         定位原因

                   其他:

                            如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。

                            如果si,so 长期不等于0,表示内存不足。

                            如果disk 经常不等于0, 且在 b中的队列大于3, 表示 io性能不好

/proc/*

         /proc/cmdline           加载kernel时所下达的相关参数。可了解系统如何启动

         /proc/cpuinfo            本机CPU相关信息

         /proc/devices            系统各个主要装置的代号

         /proc/filesystems  系统上已经加载的文件系统

         /proc/interrupts       系统上面的IRQ分配状态

         /proc/ioports            系统上面各个装置的IO地址

         /proc/kcore               内存的大小,不要读!!

         /proc/loadavg           系统负载--top

         /proc/meminfo         内存信息--free

         /proc/modules   目前linux已经加载的模块列表

         /proc/mounts           系统已经加载的数据

         /proc/swaps              系统加载的内存

         /proc/partitions       所有的分区--fdisk -l

         /proc/pci                    PCI总线上面的设备情况

         /proc/uptime            使用uptime出现的信息(系统负载)

         /proc/version            内核版本,uname -a

         /proc/bus/*               一些总线的设备,还有USB的设备

系统资源查看