查看本机上的timer服务列表
systemctl list-timers
, 查看对应服务的详细信息systemctl cat anacron.timer
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16systemctl list-timers
root@ss20231017:~# systemctl cat anacron.timer
/lib/systemd/system/anacron.timer
[Unit]
Description=Trigger anacron every hour
[Timer]
OnCalendar=*-*-* 07..23:30
RandomizedDelaySec=5m
Persistent=true
[Install]
WantedBy=timers.target
root@ss20231017:~#chrt
查看linux程序的调度器以及调度的优先级。查看各个调度器的最大最小优先级chrt -m
, 查看某个线程的优先级信息chrt -p pid
, 以某个优先级启动某个程序chrt -f 99 sleep 10000
1 | chrt -m |
列出CPU消耗高的进程top10
1
2
3
ps -eT -o%cpu,pid,tid,ppid,comm | grep -v CPU | sort -n -r | head -10端口查看进程
1 |
|
shell中使用
$
获取当前程序的pid,由于shell中$用于取变量,一般打印当前程序的PID,可以用$$
来表示1
2
3
4cat 1.sh
echo $$
cat /proc/$$/cgroup通过shell打印某一个pid的rss内存使用
该能力有几种方式都可以实现,第一种方式是通过统计/proc/$pid/smaps
中的Rss,然后将所有的数据加起来,统计出来的就是Rss的大小。第二种方式是通过ps
的方式来统计,具体如下:(从原理上看,两者实际是完全一样的,PS同样是读取/proc文件来获取资源的)
1 |
|
查看某一个命令的详细使用文档,可以考虑使用info指令来查看,该命令可以查看这个指令的info 文档 :
info top
,info chtr
,info ps
一些可以探索使用方式的工具:
cut
,paste
,xargs
下载一些gun库的源码,可以直接通过apt-get 进行下载
apt-get source iputils-ping
通过sar查看系统监控相关的数据,默认情况下只能查看当天的数据,可以通过如下脚本查看之前某一天的数据, 其原理就是通过sar产生的数据文件读取相关的数据,并做展示。
1 |
|
安装sar工具后,默认情况下并不会默认开启,需要主动打开,操作的方式为,修改
/etc/default/sysstat
文件,设置ENABLED="true"
即可查看整个操作系统的内存使用情况,直接通过free命令只能看到整体的内容使用情况,这些内存使用情况,还需要进一步分区分内存是被slabinfo占用,还是被Pagetable占用,或者是被应用的rss占用。可以通过如下脚本进行采集分析, 由于RSS包含程序和程序之间公用的部分,所以已下的内容加起来要比实际的内容要多。操作系统分配的内存还有一部分是通过allocpage方式直接申请的,这部分内存无法被统计到。
1 | cat mem.sh |
- 在网络收包的时候,
NET_RX_SOFTIRQ
主要是由net_rx_action
处理,receive_mergeable
是和virtio_net
驱动有关系。 网络相关的内容,通过ss命令可以快速的分析其网络状态。
1 | ss -s |
- Linux提供一些通用的系统查看工具,sar就是其中一个比较强大的工具,利用这个工具可以查看网络、IO、Page交换、磁盘IO等信息。以下为相关示例
1 |
|