Par erreur, j'ai remarqué que dans le répertoire/tmp sont créés en continu certains fichiers puis immédiatement supprimés. En utilisant une succession de ls -l /tmp
J'ai réussi à attraper les fichiers créés:
-rw------- 1 root root 0 Apr 2 19:37 YlOmPA069G
-rw------- 1 root root 0 Apr 2 19:37 l74jZzbcs6
ou un autre exemple:
-rw------- 1 root root 0 Apr 2 19:44 AwVhWakvQ_
-rw------- 1 root root 0 Apr 2 19:44 RpRGl__cIM
-rw------- 1 root root 0 Apr 2 19:44 S0e72nkpBl
-rw------- 1 root root 0 Apr 2 19:44 emxIQQMSy2
Il s'agit d'Ubuntu 18.10 avec 4.18.0-16-générique. Il s'agit d'une installation presque récente: j'ai ajouté des logiciels serveur (nginx, mysql, php7.2-fpm) mais même avec ceux fermés, le problème persiste.
Quels sont les fichiers créés et pourquoi? Comment pourrais-je arrêter ce comportement? un très indésirable un sur [~ # ~] ssd [~ # ~]
Je vous remercie!
[~ # ~] mise à jour [~ # ~]
La question concerne le fait de ne pas avoir/tmp dans RAM (no tmpfs ).
Le logiciel coupable est x2goserver.service sinon un doit avoir un.
Je suggère d'installer et d'exécuter fnotifystat pour détecter le processus qui crée ces fichiers:
Sudo apt-get install fnotifystat
Sudo fnotifystat -i /tmp
Vous verrez un processus qui fait l'activité d'ouverture/fermeture/lecture/écriture quelque chose comme ceci:
Total Open Close Read Write PID Process Pathname
3.0 1.0 1.0 0.0 1.0 5748 firefox /tmp/cubeb-shm-5748-input (deleted)
2.0 0.0 1.0 0.0 1.0 18135 firefox /tmp/cubeb-shm-5748-output (deleted)
1.0 1.0 0.0 0.0 0.0 5748 firefox /tmp/cubeb-shm-5748-output (deleted)
Vous pouvez utiliser des outils tels que lsof
pour déterminer quels processus et binaires touchent/ouvrent quels fichiers. Cela peut devenir gênant si les fichiers changent fréquemment, vous pouvez donc configurer une montre pour vous informer:
$ Sudo fnotifystat -i /tmp
Parfois, le simple fait de regarder l'utilisateur ou le propriétaire du groupe vous donne un bon indice (par exemple: ls -lsha
).
/tmp
dans RAM au lieu du disqueSi vous le désirez, vous pouvez mettre votre /tmp
répertoire dans la RAM. Vous devrez déterminer s'il s'agit d'un mouvement intelligent en fonction de la RAM disponible, ainsi que de la taille et de la fréquence des lectures/écritures.
$ Sudo vim /etc/fstab
...
# tmpfs in RAM
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
...
$ Sudo mount /tmp
$ mount | grep tmp # Check /tmp is in RAM
tmpfs on /tmp type tmpfs (rw,noatime)
Si vous avez suffisamment de RAM, cela peut être considéré comme une très bonne chose à faire pour la longévité de votre SSD, ainsi que pour la vitesse de votre système. Vous pouvez même accomplir cela avec de plus petites quantités de RAM si vous Tweak tmpreaper
(parfois tmpwatch
) pour être plus agressif.
très indésirable sur un SSD
Vous avez marqué votre question avec tmpfs , donc je ne sais pas du tout comment cela se rapporte au SSD. Tmpfs est un système de fichiers en mémoire (ou plus précisément, en cache-bloc), il ne touchera donc jamais un disque physique.
De plus, même si vous disposiez d'un magasin de sauvegarde physique pour votre /tmp
système de fichiers, sauf si vous avez un système avec seulement quelques kilo-octets de RAM, ces fichiers éphémères ne toucheront jamais le disque, toutes les opérations auront lieu dans le cache.
Donc, en d'autres termes, il n'y a rien à craindre puisque vous utilisez tmpfs, et si ce n'était pas le cas, il n'y aurait toujours rien à craindre.
Vous utilisiez le mauvais /dev/nvme0...
Nom:
$ Sudo tune2fs -l /dev/nvme0n1
tune2fs 1.42.13 (17-May-2015)
tune2fs: Bad magic number in super-block while trying to open /dev/nvme0n1
Couldn't find valid filesystem superblock.
Le bon format est:
$ Sudo tune2fs -l /dev/nvme0n1p6
tune2fs 1.42.13 (17-May-2015)
Filesystem volume name: New_Ubuntu_16.04
Last mounted on: /
Filesystem UUID: b40b3925-70ef-447f-923e-1b05467c00e7
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 2953920
Block count: 11829504
Reserved block count: 534012
Free blocks: 6883701
Free inodes: 2277641
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 1021
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8160
Inode blocks per group: 510
Flex block group size: 16
Filesystem created: Thu Aug 2 20:14:59 2018
Last mount time: Thu Apr 4 21:05:29 2019
Last write time: Thu Feb 14 21:36:27 2019
Mount count: 377
Maximum mount count: -1
Last checked: Thu Aug 2 20:14:59 2018
Check interval: 0 (<none>)
Lifetime writes: 4920 GB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
First Orphan inode: 1308352
Default directory hash: half_md4
Directory Hash Seed: a179d56c-6c68-468c-8070-ffa5bb7cd973
Journal backup: inode blocks
En ce qui concerne durée de vie du SSD NVMe va:
$ Sudo nvme smart-log /dev/nvme0
Smart Log for NVME device:nvme0 namespace-id:ffffffff
critical_warning : 0
temperature : 38 C
available_spare : 100%
available_spare_threshold : 10%
percentage_used : 0%
data_units_read : 22,351,778
data_units_written : 14,667,833
Host_read_commands : 379,349,109
Host_write_commands : 127,359,479
controller_busy_time : 952
power_cycles : 1,925
power_on_hours : 1,016
unsafe_shutdowns : 113
media_errors : 0
num_err_log_entries : 598
Warning Temperature Time : 0
Critical Composite Temperature Time : 0
Temperature Sensor 1 : 38 C
Temperature Sensor 2 : 49 C
Temperature Sensor 3 : 0 C
Temperature Sensor 4 : 0 C
Temperature Sensor 5 : 0 C
Temperature Sensor 6 : 0 C
Temperature Sensor 7 : 0 C
Temperature Sensor 8 : 0 C
La ligne clé ici est:
percentage_used : 0%
Après 18 mois d'utilisation, le pourcentage d'utilisation du SSD est de 0%. Si après 3 ans d'utilisation, il atteint 1%, je sais que le SSD durera 300 ans.
De toute évidence, cette réponse ne rentrerait pas dans la section des commentaires pour répondre à d'autres commentaires.
Les gens s'inquiètent trop de l'endurance en écriture SSD. En supposant que la création et la suppression d'un fichier vide écrivent 24 ko chaque seconde, et en utilisant la spécification de 150 TBW pour le populaire Samsung 860 EVO 250 Go, l'usure prend 193 ans!
(150 * 10 ^ 12)/((2 * 3 * 4 * 1024) * 60 * 60 * 24 * 365,25) = 193
Pour les systèmes de fichiers ext4, utilisez "tune2fs -l" pour trouver les écritures à vie. Ou, utilisez "smartctl -a" et recherchez Total_LBAs_Written. Je trouve toujours que le SSD a encore beaucoup de vie.