Linux系统资源管理

发布于:2024-03-22 ⋅ 阅读:(80) ⋅ 点赞:(0)

Linux系统资源命令

在Linux中查看系统资源常用命令有哪些

在Linux中,系统资源是指计算机硬件、软件和网络设备等可以利用的一切物质和能量。Linux中的系统资源包括:

  1. CPU(中央处理器):用于处理计算机中的指令和数据的主要部件。
  2. 内存(RAM):用于存储程序和数据的临时存储设备。
  3. 硬盘:存储程序、数据和操作系统等信息的永久存储设备。
  4. 网络带宽:网络数据传输的速率限制。
  5. 网络连接数:可以同时与其他设备连接的数量。
  6. I/O设备(输入输出设备):例如键盘、鼠标、打印机等,提供与计算机的交互接口。
  7. 文件描述符(file descriptors):用于在程序之间传递文件或者数据流的整数标识符。
  8. 进程和线程:正在运行的程序或者程序的实例。
  9. 文件系统:操作系统对数据进行组织和存储的方式。
  10. 其他资源:例如网络协议、设备驱动程序等。

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

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到