I would appreciate it if you could take a look at the details here.
Read all the contents of proc / [pid] Read all the contents of proc / [pid] ~ from attr to cpuset ~ Read all the contents of proc / [pid] ~ from cwd to loginuid ~ Read all the contents of proc / [pid] ~ from map_files to numa_maps ~ Wrong, you can find more information here, that directory is no longer in use, I would appreciate it if you could comment if you have any information.
# sleep 365d > /dev/null &
[1] 3792
# ls /proc/3792
attr cwd map_files oom_adj schedstat task
autogroup environ maps oom_score sessionid timers
auxv exe mem oom_score_adj setgroups uid_map
cgroup fd mountinfo pagemap smaps wchan
clear_refs fdinfo mounts patch_state stack
cmdline gid_map mountstats personality stat
comm io net projid_map statm
coredump_filter limits ns root status
cpuset loginuid numa_maps sched syscall
# cd /proc/3792
oom_adj,oom_score,oom_score_adj
# cat oom_adj
0
[root@test-sv 3792]# cat oom_score
0
[root@test-sv 3792]# cat oom_score_adj
0
The Linux kernel has a mechanism called OOM (Out Of Memory) Killer, which forcibly stops processes that are using a lot of memory resources when memory (RAM) is exhausted and the system may become inoperable. , Allocate memory. If there is a process that is important for operation or that you do not want to be the target of OOM Killer, such as during load testing, you can exclude it from the target of OOM Killer by setting it. https://users.atmark-techno.com/blog/1913/2767
You can also adjust the oom_killer score to prioritize the killing process. There are two tools in / proc / PID / named oom_adj and oom_score. Valid scores for oom_adj range from -16 to +15. Check the current oom_killer score in the process's oom_score. oom_killer kills the process with the highest score first. The following example adjusts the oom_score of a process for a process with a PID of 12465 to lower the priority of being killed by oom_killer. https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/deployment_guide/s2-proc-pid
It seems. It was helpful. pagemap
# cat pagemap
釞 ・
The pagemap file is a special file that holds which physical page each virtual page corresponds to. http://mmi.hatenablog.com/entry/2017/05/01/215921
That's right. As soon as cat
was done easily,・
began to blink. I was scared
# ll | grep pagemap
-r--r--r--. 1 root root 0 Jan 12 05:09 pagemap
This was also a read-only file.
patch_state
# cat patch_state
-1
It seems to indicate the status of the patch currently applied. -1 seems to indicate that it is not assigned. ... what are you talking about from when to when? I'm not sure.
personality
# cat personality
00000000
This read-only file exposes the process's execution domain, as set by personality(2). The value is displayed in hexadecimal notation.
There is an execution domain, and it is described in octal. It seems that it is not used because it is all 0.
projid_map
# cat projid_map
0 0 4294967295
The /etc/projid file provides a mapping between numeric project identifiers and a simple human readable name (similar relationship to the one that exists between usernames and uids). http://man7.org/linux/man-pages/man5/projid.5.html
It looks like a map between project --id. It seems that the mapping is similar to connecting userid and username. Really?
root
# ll
(Abbreviation)
lrwxrwxrwx. 1 root root 0 Jan 12 05:09 root -> /
Needless to say, this is the root path. It seems to change if it is chroot
.
sched
cat sched
sleep (3792, #threads: 1)
-------------------------------------------------------------------
se.exec_start : 318459004.030016
se.vruntime : 15734302.289257
se.sum_exec_runtime : 1.437900
se.nr_migrations : 0
nr_switches : 1
nr_voluntary_switches : 1
nr_involuntary_switches : 0
se.load.weight : 1024
policy : 0
prio : 120
clock-delta : 51
mm->numa_scan_seq : 0
numa_migrations, 0
numa_faults_memory, 0, 0, 1, 0, -1
numa_faults_memory, 1, 0, 0, 0, -1
It seems that schedule information is listed. There was a very nice article on qiita with details of / proc / \ <pid > / sched, so I will read it and study. I don't know if I can put the link, so I won't put it.
schedstat
# cat schedstat
1437900 472415 1
The far left is like sched
's se.sum_exec_runtime: 1.437900
, but I don't know anything else.
sessionid
# cat sessionid
89
It seems that the process has a process ID (PID) and a session ID (SID), which is written.
It's hard to read English and not to read the source code.
http://www.usupi.org/sysad/238.html https://linuxjm.osdn.jp/html/LDP_man-pages/man5/proc.5.html http://man7.org/linux/man-pages/man5/proc.5.html https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/deployment_guide/s2-proc-pid https://github.com/torvalds/linux/blob/master/Documentation/filesystems/proc.txt
Recommended Posts