根据PID查看进程信息

参考博客:
找PID路径
proc目录介绍
进程目录介绍
kworker占用cpu过高

查找有关进程的信息,首先获得PID

ps 

iotop
30707 be/4 root        0.00 B/s    0.00 B/s  0.00 % 88.20 % [kworker/u65:1]

例如,PID == 30707
进入/proc目录:

cd /proc/30707
#查看有关文件

#/proc/[pid]/stack显示当前进程的内核调用栈信息,只有内核编译时打开了CONFIG_STACKTRACE编译选项,才会生成这个文件。
less stack 
[] get_request+0x243/0x7d0
[] blk_queue_bio+0xfe/0x400
[] generic_make_request+0x147/0x380
[] submit_bio+0x70/0x150
[] ext4_io_submit+0x25/0x50 [ext4]
[] ext4_bio_write_page+0x159/0x2f0 [ext4]
[] mpage_submit_page+0x57/0x70 [ext4]
[] mpage_map_and_submit_buffers+0x172/0x2a0 [ext4]
[] ext4_writepages+0x763/0xcf0 [ext4]
[] do_writepages+0x21/0x50
[] __writeback_single_inode+0x40/0x260
[] writeback_sb_inodes+0x1c4/0x430
[] __writeback_inodes_wb+0x9f/0xd0
[] wb_writeback+0x263/0x2f0
[] bdi_writeback_workfn+0x1cc/0x460
[] process_one_work+0x17f/0x440
[] worker_thread+0x126/0x3c0
[] kthread+0xd1/0xe0
[] ret_from_fork_nospec_end+0x0/0x39
[] 0xffffffffffffffff

#fd
#/proc/[pid]/fd是一个目录,包含进程打开文件的情况。
ll fd
总用量 0

#/proc/[pid]/cmdline是一个只读文件,包含进程的完整命令行信息。如果这个进程是zombie进程,则这个文件没有任何内容。
cat cmdline 
空

# /proc/[pid]/comm包含进程的命令名。
cat comm 
kworker/u65:1



# /proc/[pid]/wchan显示当进程sleep时,kernel当前运行的函数。举例如下:
cat /proc/2948/wchan
get_request


#/proc/[pid]/statm显示进程所占用内存大小的统计信息,包含七个值,度量单位是page(page大小可通过getconf PAGESIZE得到)
cat statm
0 0 0 0 0 0 0

#exe
#/proc/[pid]/exe为实际运行程序的符号链接。举例如下:
ll exe
ls: 无法读取符号链接exe: 没有那个文件或目录

这个kworker占用IO非常高,可能是由于服务器大量文件操作导致,等相关进程结束再来看看。

你可能感兴趣的:(根据PID查看进程信息)