linux命令如何截断文件?
截断文件到100M:truncate -s 100M file.txt
Linux命令大全
pidstat 命令用例详解
# pidstat -u -p ALL
11:04:06 AM UID PID %usr %system %guest %CPU CPU Command
11:04:06 AM 0 1 0.03 0.05 0.00 0.08 20 systemd
11:04:06 AM 0 2 0.00 0.00 0.00 0.00 28 kthreadd
11:04:06 AM 0 3 0.00 0.00 0.00 0.00 0 rcu_gp
11:04:06 AM 0 4 0.00 0.00 0.00 0.00 0 rcu_par_gp
11:04:06 AM 0 6 0.00 0.00 0.00 0.00 0 kworker/0:0H-kblockd
11:04:06 AM 0 9 0.00 0.00 0.00 0.00 38 mm_percpu_wq
11:04:06 AM 0 10 0.00 0.01 0.00 0.01 0 ksoftirqd/0
11:04:06 AM 0 11 0.00 0.23 0.00 0.23 15 rcu_sched
11:04:06 AM 0 12 0.00 0.00 0.00 0.00 0 migration/0
11:04:06 AM 0 14 0.00 0.00 0.00 0.00 0 cpuhp/0
11:04:06 AM 0 15 0.00 0.00 0.00 0.00 1 cpuhp/1
...
表头字段说明
# pidstat -r
11:10:35 AM UID PID minflt/s majflt/s VSZ RSS %MEM Command
11:10:35 AM 0 1 7.24 0.05 191312 4208 0.01 systemd
11:10:35 AM 0 1407 2.02 0.09 39316 9016 0.03 systemd-journal
11:10:35 AM 0 1442 0.03 0.00 190380 1080 0.00 lvmetad
11:10:35 AM 0 1457 0.46 0.00 46252 1560 0.00 systemd-udevd
11:10:35 AM 0 2429 0.11 0.00 163620 9472 0.03 sshd
11:10:35 AM 992 2446 0.02 0.00 8588 996 0.00 lsmd
11:10:35 AM 0 2447 0.05 0.00 90572 1468 0.00 rngd
11:10:35 AM 0 2448 0.15 0.02 451272 3520 0.01 udisksd
11:10:35 AM 0 2449 0.18 0.02 396488 1948 0.01 accounts-daemon
11:10:35 AM 0 2454 0.02 0.02 201336 1464 0.00 gssproxy
...
表头字段说明
# pidstat -d
11:12:30 AM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
11:12:30 AM 0 1 250.05 11.57 2.13 systemd
11:12:30 AM 0 224 1.21 0.00 0.00 khugepaged
11:12:30 AM 0 290 0.03 0.00 0.00 kswapd0
11:12:30 AM 0 291 0.02 0.00 0.00 kswapd1
11:12:30 AM 0 1312 1.03 0.00 0.00 xfsaild/dm-0
11:12:30 AM 0 1407 1.31 0.00 0.00 systemd-journal
11:12:30 AM 0 1442 0.01 0.00 0.00 lvmetad
11:12:30 AM 0 1457 1.77 0.00 0.00 systemd-udevd
11:12:30 AM 992 2446 0.79 0.00 0.00 lsmd
11:12:30 AM 0 2447 0.07 0.00 0.00 rngd
11:12:30 AM 0 2448 0.46 0.00 0.00 udisksd
...
表头字段说明
# pidstat -w
11:15:52 AM UID PID cswch/s nvcswch/s Command
11:15:52 AM 0 1 3.15 0.03 systemd
11:15:52 AM 0 2 0.13 0.00 kthreadd
11:15:52 AM 0 3 0.00 0.00 rcu_gp
11:15:52 AM 0 4 0.00 0.00 rcu_par_gp
11:15:52 AM 0 6 0.00 0.00 kworker/0:0H-kblockd
11:15:52 AM 0 9 0.00 0.00 mm_percpu_wq
11:15:52 AM 0 10 1.99 0.00 ksoftirqd/0
...
表头字段含义
pidstat 查看进程IO
pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存、设备IO、任务切换、线程等。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息
pidstat 是sysstat软件套件的一部分,sysstat包含很多监控linux系统状态的工具,它能够从大多数linux发行版的软件源中获得。
在Debian/Ubuntu系统中可以使用下面的命令来安装:
apt-get install sysstat
CentOS/Fedora/RHEL版本的linux中则使用下面的命令:
yum install sysstat
pidstat -u -p ALL
pidstat -r
pidstat -dl 2
pidstat -T ALL
pidstat 命令查看某个进程的CPU、内存、磁盘使用情况
先使用 ps 命令找出目标进程ID:
[root@192 ~] ps -ef | grep java
root 2931 2335 43 22:20 pts/0 00:00:01 java HelloWorldApp
root 2947 2378 0 22:20 pts/1 00:00:00 grep --color=auto java
我们需要分析的Java进程ID是 2931,下一步使用 pidstat 进行解析。
采集CPU数据
每1秒采集一次数据,目标PID为 2931
[root@192 ~] pidstat -u 1 -p 2931
Linux 3.10.0-514.el7.x86_64 (192.168.25.131) 2020年12月29日 _x86_64_ (4 CPU)
22时20分41秒 UID PID %usr %system %guest %CPU CPU Command
22时20分42秒 0 2931 15.00 26.00 0.00 41.00 0 java
22时20分43秒 0 2931 16.00 24.00 0.00 40.00 0 java
22时20分44秒 0 2931 15.00 24.00 0.00 39.00 0 java
22时20分45秒 0 2931 16.00 27.00 0.00 43.00 0 java
22时20分46秒 0 2931 13.00 26.00 0.00 39.00 0 java
22时20分47秒 0 2931 11.00 28.00 0.00 39.00 0 java
22时20分48秒 0 2931 14.00 24.00 0.00 38.00 0 java
采集内存数据
同样的,每隔1秒采集一次数据
[root@192 ~] pidstat -r 1 -p 2931
Linux 3.10.0-514.el7.x86_64 (192.168.25.131) 2020年12月29日 _x86_64_ (4 CPU)
22时31分34秒 UID PID minflt/s majflt/s VSZ RSS %MEM Command
22时31分35秒 0 2931 0.99 0.00 3404120 60248 1.56 java
22时31分36秒 0 2931 0.00 0.00 3404120 60248 1.56 java
22时31分37秒 0 2931 0.00 0.00 3404120 60248 1.56 java
22时31分38秒 0 2931 1.00 0.00 3404120 60248 1.56 java
22时31分39秒 0 2931 0.00 0.00 3404120 60248 1.56 java
22时31分40秒 0 2931 0.00 0.00 3404120 60248 1.56 java
22时31分41秒 0 2931 0.00 0.00 3404120 60248 1.56 java
22时31分42秒 0 2931 0.99 0.00 3404120 60248 1.56 java
采集磁盘使用情况
格式:pidstat -d 采集间隔秒数 -p 进程号
[root@192 ~] pidstat -d 2 -p 2404
Linux 3.10.0-514.el7.x86_64 (192.168.25.131) 2020年12月30日 _x86_64_ (4 CPU)
20时51分19秒 UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
20时51分21秒 0 2404 0.00 0.00 0.00 java
20时51分23秒 0 2404 0.00 0.00 0.00 java
20时51分25秒 0 2404 0.00 0.00 0.00 java
20时51分27秒 0 2404 0.00 4.00 0.00 java
20时51分29秒 0 2404 0.00 0.00 0.00 java
Linux命令:查看系统是32位还是64位