操作系统复习——如何查看一个进程的详细信息,如何追踪一个进程的执行过程 ,如何在 Linux 系统下查看 CPU、内存、磁盘、IO、网卡情况?epoll和select区别?

1.  如何查看一个进程的详细信息,如何追踪一个进程的执行过程

   通过pstree命令(根据pid)进行查询进程内部当前运行了多少线程:# pstree -p 19135(进程号)

   使用top命令查看(可以查看到线程情况)# top -Hp 19135

2.  跟踪某个应用程序的运行过程

   跟踪已运行的进程:strace -p pid

3.  在 Linux 系统下查看 CPU、内存、磁盘、IO、网卡情况:

   # cat /proc/cpuinfo # 查看CPU信息

   # ps -ef # 查看所有进程

   # top # 实时显示进程状态

   # hdparm -i /dev/hda # 查看磁盘参数

   # grep MemTotal /proc/meminfo # 查看内存总量

   # hostname # 查看计算机名

   # uptime # 查看系统运行时间、用户数、负载

   # fdisk -l # 查看所有分区

4.  epoll和select区别:

   都是多路I/O机制的解决方案,

   区别(epoll相对select的区别):select的句柄数目受限,epoll的最大好处是不会随着FD的数目增长而降低效率,使用mmap加速内核与用户空间的消息传递。

5.  查看一个进程的端口号:

   如果知道进程ID的话就直接利用:netstat -anp | grep 进程ID 就可以查询出来了。

   不然就用ps命令查看进程ID:ps -ef | grep 进程名