Linux系统资源命令
在Linux中查看系统资源常用命令有哪些
在Linux中,系统资源是指计算机硬件、软件和网络设备等可以利用的一切物质和能量。Linux中的系统资源包括:
- CPU(中央处理器):用于处理计算机中的指令和数据的主要部件。
- 内存(RAM):用于存储程序和数据的临时存储设备。
- 硬盘:存储程序、数据和操作系统等信息的永久存储设备。
- 网络带宽:网络数据传输的速率限制。
- 网络连接数:可以同时与其他设备连接的数量。
- I/O设备(输入输出设备):例如键盘、鼠标、打印机等,提供与计算机的交互接口。
- 文件描述符(file descriptors):用于在程序之间传递文件或者数据流的整数标识符。
- 进程和线程:正在运行的程序或者程序的实例。
- 文件系统:操作系统对数据进行组织和存储的方式。
- 其他资源:例如网络协议、设备驱动程序等。
vmstat命令监控系统资源
vmstat命令是一个Linux系统性能监测工具,它可以实时显示系统内存、CPU、IO等性能信息,以及任务的运行状态。
vmstat命令的基本语法为:
vmstat [options] [interval] [count]
其中,options是一些可选参数,interval指定监测时间间隔(单位为秒),count指定监测次数。
可选参数
- -a, --active:显示活动和非活动的虚拟内存(单位为页)。
- -d, --disk:显示每个磁盘的统计信息。
- -m, --vm:显示内存使用情况的统计信息。
- -n, --net:显示网络统计信息。
- -p, --processes:显示进程列表,并列出一些与进程相关的统计信息。
- -s, --swap:显示交换空间统计信息。
- -t, --time:显示性能统计信息的时间戳。
输出结果
- procs:进程信息统计。
- r:正在运行的进程数。
- b:处于阻塞状态的进程数。
- memory:内存使用情况统计。
- swpd:交换空间(虚拟内存)使用量(单位为KB)。
- free:空闲内存量(单位为KB)。
- buff:用于缓存的内存量(单位为KB)。
- cache:用于缓存文件系统的内存量(单位为KB)。
- swap:交换空间使用情况统计。
- si:每秒从磁盘交换到内存的数据量。
- so:每秒从内存交换到磁盘的数据量。
- io:磁盘IO操作情况统计。
- bi:每秒从磁盘读取的数据量(单位为块,1块=512字节)。
- bo:每秒写入磁盘的数据量(单位为块)。
- system:系统调用信息统计。
- in:每秒的中断次数。
- cs:每秒的上下文切换次数。
- cpu:CPU使用情况统计。
- us:用户进程使用CPU的时间比例。
- sy:系统进程使用CPU的时间比例。
- id:CPU空闲时间比例。
dmesg 命令主要用来显示内核信息。
语法dmesg [-cn][-s ] -s
参数说明:
-c 显示信息后,清除ring buffer中的内容。
-s 预设置为8196,刚好等于ring buffer的大小。
-n 设置记录信息的层级
查看CPU信息
dmesg | grep CPU
free命令查看内存使用状态
linux下在终端环境下可以使用free命令看到系统实际使用内存的情况,一般用free -m方式查看内存占用情况(兆为单位)
tip:
缓存和缓冲的区别
简单来说缓存(cache)是用来加速数据 从硬盘中“读取”的,而缓冲(buffer) 是用来加速数据“写入”硬盘的。
查看cpu信息
cat /proc/cpuinfo
uptime命令
uptime
显示系统的启动时间和平均负载,也就是top命令第一行
查看系统与内核相关信息
uname
uname [选项]
选项解释
-a 查看系统所有相关信息
系统名、节点名称、操作系统的发行版号、内核版本等等
-r 查看内核版本
-s 查看内核名称
判断当前系统的位数
file /bin/ls
定时任务
cron进程:
1.cron进程是linux中的守护进程,在系统后台运行
2.linux的crontab服务默认每隔一分钟去读取一次
crontab命令:
创建 crontab -e
查看 crontab -l
删除 crontab -r
crontab格式:
1 2 3 4 5 /root/ntp_sync.sh * * * * * 任务
前5个数字分别对应:
分钟 小时 日期 月份 星期 0~59 0~23 1~31 1~12 0-7(0和7是星期日)
crontab命令操作符:
星号(*):通配符匹配,代表所有可能的值。例如:在小时字段中,一个星号等同于每个小时;在月份字段中,一个星号则等同于每月逗号(,):在一个字段上指定多个值。例如:“1,2,5,7,8,9”中杠(-):指定一个值得范围。例如:“2-6”表示“2,3,4,5,6”正斜线(/):指定时间的间隔频率。例如:“0-23/2”表示每两小时执行一次
crontab命令实例:
# 每2个小时执行一次脚本 #
0 */2 * * * /test/test.sh
# 每天凌晨2点执行操作 #0 2 * * * /test/test.sh
# 每个工作日的9.am执行操作 #0 9 * * 1-5 /test/test.sh或0 9 * * 1,2,3,4,5 /test/test.sh
#每周六、周日的6:30.pm执行操作 #
30 18 * * 0,6 /test/test.sh
# 每天22:00.pm-24:00.pm之间每个30min执行操作 #
0,30 22-24 * * * /test/test.sh
crontab的特殊字符:
linux中提供了8个特殊字符串用来替代crontab命令的前五个字段,这样不但可以节省时间,还可以提高可读性。
特殊字符 | 含义 |
---|---|
@reboot | 在每次启动时运行一次 |
@yearly | 每年运行一次,例如:“0 0 1 1 *” |
@annually | 与@yearly用法一致 |
@monthly | 每月运行一次,例如:“0 0 1 * *” |
@weekly | 每周运行一次,例如:“0 0 * * 0” |
@daily | 每天运行一次,例如:“0 0 * * *” |
@midnight | 与@daily用法一致 |
@hourly | 每小时运行一次,例如:“0 * * * *” |
示例:
# 每小时运行一次 #
@hourly /test/test.sh