【linux命令讲解大全】112.Linux 系统管理工具:dpkg-statoverride 和 dstat 的使用介绍

2024-03-02 13:56:21 浏览数 (2)

dpkg-statoverride

在 Debian Linux 中覆盖文件的所有权和模式。

补充说明

dpkg-statoverride 命令用于在 Debian Linux 中覆盖文件的所有权和模式,使得在安装软件包时文件的所有权和模式失效。

语法

代码语言:javascript复制
dpkg-statoverride [选项]

选项

  • -add:为文件添加一个覆盖设置。
  • --remove:删除文件的覆盖设置。
  • --list:显示所有覆盖设置。
  • --update:立即执行覆盖操作(如果文件存在)。

实例

修改文件夹的权限属性:

代码语言:javascript复制
sudo dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3

强制修改文件夹的权限属性:

代码语言:javascript复制
sudo dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd

从数据库中删除文件:

代码语言:javascript复制
sudo dpkg-statoverride --remove /usr/bin/wall

dstat

通用的系统资源统计工具

补充说明

dstat 命令是一个全能系统信息统计工具,用于替代 vmstatiostatnetstatnfsstatifstat 等命令。与 sysstat 相比,dstat 拥有彩色界面,以便更直观地观察性能状况。同时,dstat 支持实时刷新,通过输入 dstat 3,每三秒收集一次数据并以每秒刷新显示最新数据。与 sysstat 相同,dstat 也可以收集指定的性能资源,例如 dstat -c 可以显示 CPU 的使用情况。

下载安装

方法一
代码语言:javascript复制
yum install -y dstat
方法二

官网下载地址:http://dag.wieers.com/rpm/packages/dstat

代码语言:javascript复制
wget http://dag.wieers.com/rpm/packages/dstat/dstat-0.6.7-1.rh7.rf.noarch.rpm
rpm -ivh dstat-0.6.7-1.rh7.rf.noarch.rpm

使用说明

安装完成后,就可以使用 dstat 进行系统资源监控,它可以实时监控 CPU、磁盘、网络、IO、内存等的使用情况。

直接使用 dstat,默认使用 -cdngy 参数,分别显示 CPU、磁盘、网络、内存、系统信息,默认每秒显示一次。也可以在最后指定显示信息的时间间隔,如 dstat 5 表示每五秒显示一次。

代码语言:javascript复制
[root@iZ23uulau1tZ ~]# dstat
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw
  0   0  99   0   0   0|7706B  164k|   0     0 |   0     0 | 189   225
  0   0 100   0   0   0|   0     0 |4436B  826B|   0     0 | 195   248
  1   0  99   0   0   0|   0     0 |4744B  346B|   0     0 | 203   242
  0   0 100   0   0   0|   0     0 |5080B  346B|   0     0 | 206   242
  0   1  99   0   0   0|   0     0 |5458B  444B|   0     0 | 214   244
  1   0  99   0   0   0|   0     0 |5080B  346B|   0     0 | 208   242

下面对显示的部分信息进行说明:

  • CPU:hiq、siq 分别为硬中断和软中断次数。
  • system:int、csw 分别为系统的中断次数(interrupt)和上下文切换(context switch)。
  • 其他的都很好理解。

语法

代码语言:javascript复制
dstat [-afv] [options..] [delay [count]]

常用选项

  • -c:显示 CPU 系统占用、用户占用、空闲、等待、中断、软件中断等信息。
  • -C:当有多个 CPU 时,此参数可按需分别显示每个 CPU 的状态,例如 -C 0,1 是显示 CPU0 和 CPU1 的信息。
  • -d:显示磁盘读写数据大小。
  • -D hda,total:包括指定的磁盘和总计。
  • -n:显示网络状态。
  • -N eth1,total:有多块网卡时,指定要显示的网卡。
  • -l:显示系统负载情况。
  • -m:显示内存使用情况。
  • -g:显示页面使用情况。
  • -p:显示进程状态。
  • -s:显示交换分区使用情况。
  • -S:类似 -D-N
  • -r:I/O 请求情况。
  • -y:系统状态。
  • --ipc:显示 IPC 消息队列、信号等信息。
  • --socket:显示 TCP/UDP 端口状态。
  • -a:默认选项,等同于 -cdngy
  • -v:等同于 -pmgdsc -D total
  • --output 文件:将状态信息以 CSV 格式重定向到指定的文件中,以便日后查看。

实例

例如,想要监控 swap、process、sockets、filesystem 并显示监控的时间:

代码语言:javascript复制
[root@iZ23uulau1tZ ~]# dstat -tsp --socket --fs
----system---- ----swap--- ---procs--- ------sockets------ --filesystem-
  date/time   | used  free|run blk new|tot tcp udp raw frg|files  inodes
26-07 09:23:48|   0     0 |  0   0 0.0|104   8   5   0   0|  704   6488
26-07 09:23:49|   0     0 |  0   0   0|104   8   5   0   0|  704   6488
26-07 09:23:50|   0     0 |  0   0   0|104   8   5   0   0|  704   6489
26-07 09:23:51|   0     0 |  0   0   0|104   8   5   0   0|  704   6489
26-07 09:23:52|   0     0 |  0   0   0|104   8   5   0   0|  704   6489
26-07 09:23:53|   0     0 |  0   0   0|104   8   5   0   0|  704   6489

如果想要将结果输出到文件,可以使用 --output 选项加上文件名:

代码语言:javascript复制
[root@iZ23uulau1tZ ~]# dstat -tsp --socket --fs --output /tmp/ds.csv
----system---- ----swap--- ---procs--- ------sockets------ --filesystem-
  date/time   | used  free|run blk new|tot tcp udp raw frg|files  inodes
26-07 09:25:31|   0     0 |  0   0 0.0|104   8   5   0   0|  736   6493
26-07 09:25:32|   0     0 |  0   0   0|104   8   5   0   0|  736   6493
26-07 09:25:33|   0     0 |  0   0   0|104   8   5   0   0|  736   6493
26-07 09:25:34|   0     0 |  0   0   0|104   8   5   0   0|  736   6493
26-07 09:25:35|   0     0 |  0   0   0|104   8   5   0   0|  736   6494
26-07 09:25:36|   0     0 |  0   0   0|104   8   5   0   0|  736   6494

这样生成的 CSV 文件可以用 Excel 打开,并生成图表。

通过 dstat --list 可以查看 dstat 能够使用的所有参数。其中,上面的 internaldstat 自带的一些监控参数,而 /usr/share/dstat 中的插件可以扩展 dstat 的功能,例如监控电源(battery)和 MySQL 等。

请注意,并不是所有插件都可以直接使用,有些插件还依赖其他软件包。例如,如果要监控 MySQL,必须安装与 MySQL 连接的 Python 包。

代码语言:javascript复制
[root@iZ23uulau1tZ ~]# dstat --list
internal:
        aio, cpu, cpu24, disk, disk24, disk24old, epoch, fs, int, int24, io, ipc, load, lock, mem, net, page, page24, proc, raw, socket, swap, swapold, sys, tcp, time, udp, unix, vm
/usr/share/dstat:
        battery, battery-remain, cpufreq, dbus, disk-util, fan, freespace, gpfs, gpfs-ops, helloworld, innodb-buffer, innodb-io, innodb-ops, lustre, memcache-hits, mysql-io, mysql-keys, mysql5-cmds, mysql5-conn, mysql5-io, mysql5-keys,
        net-packets, nfs3, nfs3-ops, nfsd3, nfsd3-ops, ntp, postfix, power, proc-count, rpc, rpcd, sendmail, snooze, thermal, top-bio, top-cpu, top-cputime, top-cputime-avg, top-io, top-latency, top-latency-avg, top-mem, top-oom, utmp,
        vm-memctl, vmk-hba, vmk-int, vmk-nic, vz-cpu, vz-io, vz-ubc, wifi

以上就是 dstat 命令的基本用法。更多高级用法可以参考 man 手册。

0 人点赞