Допустим, я вижу файл с именем /dev/shm/some.segment

Как я могу узнать (с помощью командной строки):

  1. Процессы, которые с ним связаны?

  2. Узел NUMA, который он находит?

Для # 2 я могу написать небольшую программу на C с помощью move_pages() чтобы выяснить это. Просто подумайте, есть ли что-нибудь полезное.

Я нахожусь на CentOS 7, если это имеет значение.

Спасибо!

================

Обновление (предложение Харримца):

[myuser@mylinux ~]$ ipcs -pm

------ Shared Memory Creator/Last-op PIDs --------
shmid      owner      cpid       lpid      
131072     myuser      2999       3144      
163841     myuser      2999       3144      
262146     myuser      3226       3288      
753667     myuser      3288       2006      
655364     myuser      3226       2006      
360453     myuser      2819       4036      
622598     myuser      3226       2006      
589831     myuser      3226       2006      
524296     myuser      3226       2006      
786441     myuser      3226       2006      
819210     myuser      3226       2006      
917515     myuser      4042       4050      
950284     myuser      4099       4099      
1048589    myuser      4106       4839      

[myuser@mylinux ~]$ sudo grep 131072 /proc/*/maps
/proc/2006/maps:7f252828b000-7f252830b000 rw-s 00000000 00:04 131072                     /SYSV00000000 (deleted)
/proc/2999/maps:7f2854017000-7f2854097000 rw-s 00000000 00:04 131072                     /SYSV00000000 (deleted)
[myuser@mylinux ~]$ sudo grep 163841 /proc/*/maps
/proc/2006/maps:7f2527e8b000-7f252828b000 rw-s 00000000 00:04 163841                     /SYSV00000000 (deleted)
/proc/2999/maps:7f2844a12000-7f2844e12000 rw-s 00000000 00:04 163841                     /SYSV00000000 (deleted)
[myuser@mylinux ~]$ sudo grep 262146 /proc/*/maps
/proc/2006/maps:7f2527e2b000-7f2527e8b000 rw-s 00000000 00:04 262146                     /SYSV00000000 (deleted)
/proc/3226/maps:7f28ce834000-7f28ce894000 rw-s 00000000 00:04 262146                     /SYSV00000000 (deleted)
[myuser@mylinux ~]$ sudo grep 1048589 /proc/*/maps
/proc/2006/maps:7f2524c99000-7f2525499000 rw-s 00000000 00:04 1048589                    /SYSV00000000 (deleted)
/proc/4106/maps:7fe5af800000-7fe5b0000000 rw-s 00000000 00:04 1048589                    /SYSV00000000 (deleted)
[myuser@mylinux ~]$ ll /dev/shm/
total 1000
-rwx------ 1 myuser myuser 67108904 Sep 23 09:42 pulse-shm-1190977916
-rwx------ 1 myuser myuser 67108904 Sep 23 09:48 pulse-shm-1218108161
-rwx------ 1 myuser myuser 67108904 Sep 23 10:03 pulse-shm-1238825830
-rwx------ 1 myuser myuser 67108904 Sep 23 10:03 pulse-shm-13579424
-rwx------ 1 myuser myuser 67108904 Sep 23 09:42 pulse-shm-2544170821
-rwx------ 1 gdm   gdm   67108904 Sep 23 09:42 pulse-shm-2626080508
-rwx------ 1 gdm   gdm   67108904 Sep 23 09:42 pulse-shm-3289673610
-rwx------ 1 myuser myuser 67108904 Sep 23 09:42 pulse-shm-4099527713
-rwx------ 1 myuser myuser 67108904 Sep 23 09:42 pulse-shm-52369360
[myuser@mylinux ~]$ lsof /dev/shm/pulse-shm-1190977916
COMMAND    PID  USER  FD   TYPE DEVICE SIZE/OFF  NODE NAME
pulseaudi 2663 myuser mem    REG   0,19 67108904 34513 /dev/shm/pulse-shm-1190977916
[myuser@mylinux ~]$ ps aux | grep 2663
myuser     2663  0.2  0.0 640560  8044 ?        S<l  09:42   0:03 /usr/bin/pulseaudio --start --log-target=syslog
myuser     8144  0.0  0.0 112712   972 pts/0    S+   10:05   0:00 grep --color=auto 2663
[myuser@mylinux ~]$ 

1 ответ1

0

Команда lsof должна предоставить большую часть этой информации.

Вы можете получить его вывод для shmid , который вы можете найти с помощью ipcs -m .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .