le fichier / proc kcore est énorme
après avoir subi une attaque DDOS, /proc/kcore
est en quelque sorte très énorme, j'utilise une petite classe php pour vérifier l'espace disque actuel, et combien a été utilisé.
il montre ce qui suit:
Total Disk Space: 39.2 GB
Used Disk Space: 98 GB
Free Disk Space: 811.6 MB
ma question Est, est-il sécuritaire de supprimer le fichier /proc/kcore
? Ou est-il une solution pour arriver à une taille normale.
la taille de fichier de /proc/kcore
est 140.737.486.266.368 octets
j'ai hébergé mon serveur à DigitalOcean.
Si besoin de plus d'information pour le savoir, veuillez demander ;)
Merci beaucoup!
Edit...
df -h
retourne:
Filesystem Size Used Avail Use% Mounted on
/dev/vda 40G 37G 755M 99% /
udev 993M 12K 993M 1% /dev
tmpfs 401M 224K 401M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1002M 0 1002M 0% /run/shm
du -shx
retourne:
du -shx *
8.7M bin
27M boot
12K dev
6.3M etc
4.8M home
0 initrd.img
229M lib
4.0K lib64
16K lost+found
8.0K media
4.0K mnt
4.0K opt
du: cannot access `proc/3765/task/3765/fd/3': No such file or directory
du: cannot access `proc/3765/task/3765/fdinfo/3': No such file or directory
du: cannot access `proc/3765/fd/3': No such file or directory
du: cannot access `proc/3765/fdinfo/3': No such file or directory
0 proc
40K root
224K run
8.0M sbin
4.0K selinux
4.0K srv
0 sys
4.0K tmp
608M usr
506M var
0 vmlinuz
résultats de lsof | grep deleted
:
mysqld 1356 mysql 4u REG 253,0 0 1835011 /tmp/ib4jBFkc (deleted)
mysqld 1356 mysql 5u REG 253,0 0 1835012 /tmp/ibcE99rr (deleted)
mysqld 1356 mysql 6u REG 253,0 0 1835013 /tmp/ibrxYEzG (deleted)
mysqld 1356 mysql 7u REG 253,0 0 1835014 /tmp/ibK95UJV (deleted)
mysqld 1356 mysql 11u REG 253,0 0 1835015 /tmp/iboOi8Ua (deleted)
nginx 30057 root 2w REG 253,0 0 789548 /var/log/nginx/error.log (deleted)
nginx 30057 root 5w REG 253,0 37730323404 268273 /etc/nginx/off (deleted)
nginx 30057 root 6w REG 253,0 0 789548 /var/log/nginx/error.log (deleted)
nginx 30058 www-data 2w REG 253,0 0 789548 /var/log/nginx/error.log (deleted)
nginx 30058 www-data 5w REG 253,0 37730323404 268273 /etc/nginx/off (deleted)
nginx 30058 www-data 6w REG 253,0 0 789548 /var/log/nginx/error.log (deleted)
nginx 30059 www-data 2w REG 253,0 0 789548 /var/log/nginx/error.log (deleted)
nginx 30059 www-data 5w REG 253,0 37730323404 268273 /etc/nginx/off (deleted)
nginx 30059 www-data 6w REG 253,0 0 789548 /var/log/nginx/error.log (deleted)
4 réponses
en réponse à votre question initiale:
"Est-il sauver à supprimer le
/proc/kcore
fichier? Ou est-il une solution sur l'obtention d'une taille normale."
non, ce n'est pas sûr. Eh bien, je ne voudrais pas parier ce qui se passerait si vous le supprimiez de toute façon!
le répertoire /proc
est le point de montage de procfs (exécuter mount
et voir la sortie comme ci-dessous: )
proc on /proc type proc (rw)
procfs est un peu de magie noire; aucun fichier n'y est réel. Il ressemble à un système de fichiers, agit comme un système de fichiers, et est un système de fichiers. Mais pas celui qui est stocké sur disque (ou ailleurs).
/proc/kcore
est spécifiquement un fichier qui correspond directement à chaque octet disponible dans votre mémoire virtuelle ... Je ne suis pas tout à fait clair sur les détails; le 128TB vient de Linux allouant 47 bits des 64 bits disponibles pour la mémoire virtuelle.
(il y a une discussion sur la limite de 128TB ici: /q/low-java-single-process-thread-limit-in-red-hat-linux-24843/"https://en.wikipedia.org/wiki/Everything_is_a_file" rel= "noreferrer">tout est un fichier qui donne un petit fond. Si vous êtes vraiment curieux-jetez un oeil sur le Plan9 OS.
J'espère que ma réponse initiale explique suffisamment kcore
elle-même. Je suppose que les gens qui lisent cette réponse peuvent être curieux. A propos d'autres fichiers dans /proc
aussi - donc voici quelques autres exemples "intéressants".
-
/proc/sys/*
est un mécanisme pour l'utilisateur (vous) de lire/écrire des détails à partir du cœur de Linux (le noyau et les pilotes associés, etc.). Un exemple mignon d'un élément de R / w est " IP forwarding ":Lire:
cat /proc/sys/net/ipv4/ip_forward
(0
est éteint,1
est sur)Ecrire:
echo 1 > /proc/sys/net/ipv4/ip_forward
Comme avec
kcore
, ce n'est pas un vrai fichier. Mais il agit comme un. Ainsi, lorsque vous écrivez à elle, vous changez en fait les paramètres du logiciel par opposition aux octets sur un disque. -
/proc/meminfo
et/proc/cpuinfo
sont en lecture seule. Vous pouvezcat
ouless
eux, oufopen()
de votre propre application. Ils vous montrent des détails sur votre matériel (mémoire et CPU). -
/proc/[0-9]+
sont en fait des Id de processus en cours d'exécution sur votre machine! Ce sont (IMHO) de loin la caractéristique la plus cool de/proc
. À l'intérieur d'eux, vous trouverez plus de faux fichiers commecmdline
qui vous disent quelle commande a été utilisée pour démarrer le processus.
enfin il y a d'autres exemples de "systèmes de fichiers intéressants", comme /proc
. Il y a purement en mémoire et " espace utilisateur pour n'en nommer que deux. Encore une fois, ceux-ci (en général) ne consomment pas d'espace disque réel, bien que des outils comme df
et ls
puissent rapporter des tailles de fichier réelles.
la commande sudo rm /proc/kcore
peut être exécutée en toute sécurité . Il dira juste rm: cannot remove '/proc/kcore': Operation not permitted
.
tous les fichiers de /proc
n'existent pas sur votre disque dur, ils ne peuvent donc pas être supprimés. Ces fichiers représentent des informations sur le système. Par exemple, quand vous faites ls /proc
, vous demandez au noyau pour une liste des processus du système. Si vous lancez ls -l /proc/22/exe
, vous demandez au noyau le chemin du fichier de l'exécutable du processus numéro 22. Et ainsi de suite.
ressemble à vous devez nettoyer le disque des fichiers qui sont supprimés mais sont réservés. Vous pouvez utiliser la commande 'tune2fs' avec quelque chose comme:
tune2fs -m 0 /dev/<drive>
cela devrait libérer l'espace et vous donner accès à l'espace disque réservé.
NOTE: vous ne gagnerez jamais d'espace disque en retirant des fichiers de '/proc'. C'est un système de fichiers virtuel qui n'a absolument rien à voir avec l'espace sur votre disque dur.
veuillez vérifier l'espace dans votre fichier journal. J'ai supprimé tous les fichiers journaux d'erreurs et d'accès et mon site web est en cours d'exécution.
en utilisant cette commande quel dossier prend plus d'espace.
cd /
sudo du -sh * 2>/dev/null | sort -h