Linux 监控内存,CPU,负载,硬盘等小结
2016-05-12 22:23
585 查看
1. 监控内存
vmstat如下是执行vmstat后的输出:
fengxi@ubuntu:~/bash$ vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 167516 35040 354276 0 0 469 28 101 373 4 5 89 1 0
cat /proc/meminfo
可以通过查看/pro/meminfo文件来查看内存的使用情况。如下是执行该命令的结果,因为它的结果比较长,这里我只列了一小部分。
fengxi@ubuntu:~/bash$ cat /proc/meminfo MemTotal: 1023924 kB MemFree: 167276 kB MemAvailable: 554148 kB Buffers: 35408 kB Cached: 354304 kB SwapCached: 0 kB
top
top命令显示动态实时地内存,CPU的使用情况。当然,该命令也会打印出系统的负载情况。
top - 06:59:42 up 19 min, 2 users, load average: 0.00, 0.04, 0.14 Tasks: 226 total, 1 running, 225 sleeping, 0 stopped, 0 zombie %Cpu(s): 4.8 us, 4.1 sy, 0.0 ni, 91.1 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem: 1023924 total, 843696 used, 180228 free, 35440 buffers KiB Swap: 1046524 total, 0 used, 1046524 free. 354448 cached Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 947 root 20 0 158948 40128 19720 S 5.3 3.9 0:23.42 Xorg 1775 fengxi 20 0 249984 85572 60384 S 3.3 8.4 0:06.78 compiz 2180 fengxi 20 0 116208 33152 25724 S 1.3 3.2 0:04.40 gnome-termi+ 1791 fengxi 20 0 30508 7424 6880 S 0.3 0.7 0:00.38 ibus-engine+ <span style="font-family: Arial, Helvetica, sans-serif;"> </span>通过按M,则会以占用内存从大到小排列;按P,则会以占用CPU从大到小排列。
ps
ps命令则静态地显示内存,CPU等的使用情况。
fengxi@ubuntu:~/bash$ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.1 0.4 23944 4780 ? Ss 06:40 0:02 /sbin/init auto root 2 0.0 0.0 0 0 ? S 06:40 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 06:40 0:00 [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S< 06:40 0:00 [kworker/0:0H]其中输出的第三列为CPU的占比,第四列为内存的占比。
如果我想要杀掉占用内存最多的5个进程,那么我们简单地写一个脚本实现此功能。
#!/bin/bash pids=$(ps aux | sort -k4nr | head -5 | awk '{print $2}') for pid in $pids do kill -9 $pid done这里sort的参数含义为:-k4以第四列为排序标准,-n为以字符串排序,-r为reverse的简称,因为sort默认是从小到大排序,加上-r则为从大到小排序。如果以数字大小为排序准则,则要用-g参数。
free
free命令显示系统中使用和空闲的内存数。
fengxi@ubuntu:~/bash$ free total used free shared buffers cached Mem: 1023924 936728 87196 6356 76040 402712 -/+ buffers/cache: 457976 565948 Swap: 1046524 6940 1039584
2. 监控CPU
vmstattop
ps
上述命令往往既能显示内存的使用率,也可以显示CPU的使用率。
3. 监控硬盘
dfdf命令会显示文件系统的硬盘空间使用情况。
fengxi@ubuntu:~/bash$ df -h Filesystem Size Used Avail Use% Mounted on udev 484M 0 484M 0% /dev tmpfs 100M 5.6M 95M 6% /run /dev/sda1 19G 5.8G 12G 33% / tmpfs 500M 156K 500M 1% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 500M 0 500M 0% /sys/fs/cgroup cgmfs 100K 0 100K 0% /run/cgmanager/fs tmpfs 100M 44K 100M 1% /run/user/1000
相关文章推荐
- 回顾linux系统编程学习过程
- vm11 安装的centos7采用NAT模式联网
- linux 重定向 1>&2 2>&1的各种变形理解
- Linux线程中pthread_join和pthread_detach函数
- linux 脚本学习 一
- 统计多台linux主机的CPU内存swap的使用比例
- [原创]关于在CentOS 7.0 下 安装nfs ,遇见 Transaction check error问题的解决
- Linux CentOS6系统安装最新版本Node.js环境及相关文件配置
- centos6.7、centos6.5下yum方式搭建lnmp环境,php5.4/mysql5.5
- centos下安装jdk1.7
- 监控和管理Linux进程(新手求指教)
- 使用linux系统函数和c++03类写的一个简单线程池
- Linux学习之初期计划(初稿)
- CentOS硬软链接
- 编译Linux/Android 输出很多信息很难找到错误/警告信息怎么办?
- Linux编程常用
- linux相关
- Linux基础之:curl工具的使用
- Linux 设备驱动框架
- Linux监控cpu以及内存使用情况之top命令