scheduler01
1. linux进程周期
就绪、运行、睡眠、停止、僵死
2. task_struct
struct task_struct {
...
pid_t pid;
struct mm_struct *mm;
struct fs_struct *fs;
struct files_struct *files;
...
};
struct mm_struct {
...
struct vm_area_struct * mmap;
pgd_t * pgd;
...
};
struct fs_struct {
...
struct path root, pwd;
...
};
struct files_struct {
...
struct fdtable fdtab;
struct file * fd_array[NR_OPEN_DEFAULT];
...
};task_struct形成 链表、树、哈希 来管理
2. 查看目前系统支持最多pid数量
3. 内存泄漏
僵死进程,资源已经释放,无内存泄漏,只存下 task_struct 供父进程查死亡原因
进程运行中,运行越久,内存消耗越多,即 发生内存泄漏
4. 停止/恢复进程与作业控制 cpulimit
ctrl + z : 暂停执行进程
fg/bg : 恢复进程执行
限制pid为10111进程的cpu使用率不超过20%
5. fork
$ vim fork1.c
$ vim fork2.c
$ vim life_period.c
Last updated