当前位置:网站首页>Cause du tampon / cache du serveur et libération du tampon / cache
Cause du tampon / cache du serveur et libération du tampon / cache
2022-07-22 17:14:00 【QQ Duhai】
Table des matières
- Un.、Qu'est - ce quebuffer/cache?
- 2.、Qu'est - ce quepage cache?
- Trois、buffer/cache Quelques caractéristiques à noter
- Quatre、Comment procéder manuellement buffer/cache Recyclage?
- Cinq、buffer/cache Comment le dépannage est causé par ces processus
Un.、Qu'est - ce quebuffer/cache?
buffer/cache En fait, il est utilisé comme cache de données de fichier pour le système serveur , En particulier pour les fichiers de paires de processus read/write Pendant l'opération, Donc quand votre processus de service lit et écrit le fichier ,Linux Pour améliorer la vitesse de lecture et d'écriture du service , Le fichier sera placé ici buffer/cache Pour l'utilisation du cache ,Parce que Linux La caractéristique du service est que tout existe sous forme de document , Donc vous découvrirez que peu importe si vous avez fait une lecture et une écriture à grande échelle des fichiers ,Machine buffer/cache Est toujours là , Et l'augmentation continue ne peut pas , C'est parce que la connexion réseau générée par le serveur est aussi bonne que ,Protocole utilisateur(UDP) La prise est bonne. , Cette partie du système de données crée le descripteur de fichier correspondant à l'application , Et l'utilisation de ces descripteurs de fichiers , Et ils reviennent tous dans buffer/cache Pour lire et écrire , C'est pourquoi votre machine sera toujours plus élevée buffer/cache Raisons!( Parce que tous les fichiers sont utilisés pour lire et écrire buffer/cache, Si la mémoire est raisonnable )
2.、Qu'est - ce quepage cache?
Page cacheUtilisé principalement comme cache de données de fichier sur le système de fichiers,En particulier lorsque le processus aread/writePendant l'opération.Si vous y réfléchissez,,Comme un appel système qui peut cartographier un fichier en mémoire:mmapEst - ce que c'est naturel?page cache?Dans la mise en œuvre actuelle du système,page cacheEst également utilisé comme périphérique de cache pour d'autres types de fichiers,Donc en faitpage cacheEst également responsable de la mise en cache de la plupart des fichiers de périphériques de bloc.
Trois、buffer/cache Quelques caractéristiques à noter
Avec assez de mémoire de service ,Linux Pour accélérer la lecture et l'écriture des fichiers, le noyau les met dans buffer/cache Moyenne Pour assurer l'efficacité de la lecture et de l'écriture ,Mais en fait, Bien que lorsque votre application aura terminé de lire et d'écrire le fichier ,buffer/cache Et ne libère pas automatiquement cette partie de la mémoire , Il est conservé comme tampon , Attendez que votre processus de service soit prêt pour la prochaine lecture et écriture du même fichier , Diverses opérations de Réinitialisation de la mémoire ont été évitées ; Donc ça va mener à , Lorsque votre processus d'application lit et écrit fréquemment différents fichiers , Vous trouverez que le service peut être utilisé directement free Une raison importante pour laquelle la mémoire va diminuer ;Est - ce que... buffer/cache Dans un tel cache sans fin, il n'y a pas de libération automatique ?Bien sûr que non., Lorsque le serveur subit une forte pression de mémoire , La récupération de la mémoire se fera automatiquement ,En tant quefree Espace alloué à d'autres processus , Et l'une des plus grandes quantités de mémoire récupérée est buffer/cache Bloc mémoire tampon pour ;
Quatre、Comment procéder manuellement buffer/cache Recyclage?
En plus d'effectuer la récupération de la mémoire lorsque la mémoire du processus système utilise une grande pression , On peut aussi faire manuellement buffer/cacheRecyclage,Mais parce quebuffer/cache Principalement pour la lecture et l'écriture de fichiers , Donc quand on récupère des fichiers , Souvent accompagné d'un système IOBiao Gao., Parce que le noyau du système est aussi comparé à cache Si les données du disque dur sont cohérentes avec les données du disque dur , Si les incohérences doivent être écrites , Avant de pouvoir récupérer la mémoire ;
$ sync
# Forcer les données en mémoire à se rafraîchir d'abord sur le disque
NettoyageBufferZone de cache
$ echo 1 > /proc/sys/vm/drop_caches # Pour effacerpagecache.
$ echo 2 > /proc/sys/vm/drop_caches # Indique que le recyclage est éliminéslabObjet dans l'allocateur(Inclure le cache d'entrée de répertoire etinodeCache).slab L'allocateur est un mécanisme de gestion de la mémoire dans le noyau , Beaucoup de ces implémentations de données mises en cache sont utilisées pagecache.
$ echo 3 > /proc/sys/vm/drop_caches # Pour effacerpagecacheEtslabObjets mis en cache dans l'allocateur
Si vous devez effacer le cache du disque,La première commande est la plus sûre dans l'environnement d'entreprise et de production,"...echo 1> ..."
Seul le cache de page sera effacé. La troisième option ci - dessus n'est pas recommandée dans un environnement de production"...echo 3 > ..."
,À moins que vous ne sachiez ce que vous faites,Parce qu'il efface la page cache,Éléments du catalogue etinodes.
InLinuxLibérez le tampon qui pourrait être utilisé par le noyau(Buffer)Et cache(Cache)C'est une bonne idée??
Lorsque vous définissez de nombreux paramètres pour vérifier l'effet,S'il s'agit en fait de I/O Référence de la portée,Alors vous devrez peut - être effacer le tampon et le cache.Vous pouvez supprimer le cache comme indiqué ci - dessus,Pas besoin de redémarrer le système(C'est - à - dire sans arrêt).
LinuxConçu pour rechercher dans le cache du disque avant de chercher le disque.S'il trouve la ressource dans le cache,La demande n'est pas envoyée au disque.Si on nettoie le cache,Le Cache disque ne fonctionne pas,Le système va chercher des ressources sur le disque.
En outre,Lorsque le cache est effacé, il ralentit également le fonctionnement du système,Le système recharge chaque ressource demandée dans le Cache disque.
Maintenant,Nous allons créer un shell Script,Par un cron Les tâches sont programmées tous les après - midi2Nettoyage automatique des pointsRAMCache.Créer un shell Script clearcache.sh Et ajouter la ligne suivante:
#!/bin/bash
# Attention!,On l'a utilisé ici. "echo 3",Mais il n'est pas recommandé dans l'environnement du produit,Il faut utiliser echo 1
echo 3 > /proc/sys/vm/drop_caches"
Voilà.clearcache.shConfiguration du fichier droits d'exécution
# chmod 755 clearcache.sh
Maintenant,Il suffit d'appeler le script quand vous avez besoin de vider le cache mémoire.
Maintenant, réglez un après - midi tous les jours2Tâche programmée pour effacerRAMCache,Ouvre.crontabModifier.
# crontab -e
Ajouter la ligne suivante,Enregistrer et quitter.
0 3 * * * /path/to/clearcache.sh
Cinq、buffer/cache Comment le dépannage est causé par ces processus
5.1 hcacheInstallation
$ wget https://silenceshell-1255345740.cos.ap-shanghai.myqcloud.com/hcache -O /usr/local/bin/hcache ;\
chmod +x /usr/local/bin/hcache
5.2 hcacheCommandes courantes
$ hcache --top 10 # Affichage global10 Les plus grands fichiers mis en cache
$ lsof /usr/lib/vmware-tools/lib64/libxerces-c-3.1.so/libxerces-c-3.1.so
# Trouver le processus correspondant à partir du fichier 、pid
$ hcache -pid 1070 # Obtenir des informations sur tous les fichiers ouverts par le numéro de processus actuel
$ lsof -p 1070 # Obtenir des informations sur tous les fichiers ouverts par le numéro de processus actuel (Deux contre un.)
lsof La commande utilise l'URL de référence :https://man.linuxde.net/lsof
边栏推荐
- Abaqus实现二自由度振动系统模态计算
- 【OPEN HAND】汉得企业级PaaS平台HZERO重磅开源!
- 服务器网络性能调优工具
- Data Lake: evolution of data Lake Technology Architecture
- numpy.around
- Hiam fine-grained unified authorization management helps enterprises achieve refined management and control of system permissions
- numpy.ascontiguousarray
- Repair version of Dynamic Video Wallpaper wechat applet source code download, supporting various types of traffic main revenue
- Blob URL DataURL
- [red team] att & CK - browser extension for persistence
猜你喜欢
Is there anyone who can't analyze these data cases? A trick to teach you how to visualize recruitment data~
Xshell Plus6下载及安装使用的方法
1143. Longest common subsequence
汉得x久立特材|携手打造协同办公门户,助力IT内部规范管理
Hande integrated platform Jixing otter version 1.4.0 was officially released!
Hande x Jiuli special materials | work together to create a collaborative office portal and help it internal standardized management
JSON_ Incorrect problem returned by extract
Are you still writing code for adding, deleting, modifying and checking? Direct one click generation
FPGA - memory resources of internal structure of 7 Series FPGA -02- FIFO resources
UE4 set night (update skysphere according to directionallight direction)
随机推荐
tf.set_ random_ seed()
Enthusiasm and expertise fly together | Microsoft's most valuable expert project, attracting Microsoft technology contributors!
Server network performance tuning cases
numpy.ascontiguousarray
Opencv supports H264 video coding
Zen administrator forgets password and retrieves password
从0到1建设智能灰度数据体系:以vivo游戏中心为例
UE4 combines the objects made by the brush into a whole
Four main steps of web application penetration testing
MySQL foundation +mysql cluster review
Overview of basic principles of network
The difference between process and thread
Apache自带的ab压力测试工具如何实现
汉得企业级数字化PaaS平台 HZERO 1.9.0 版本正式发布!
UE4 set night (update skysphere according to directionallight direction)
Pytorch optimizer: optim SGD && optimizer.zero_ grad()
Hande enterprise digital PAAS platform hzero version 1.9.0 was officially released!
Xshell Plus6下载及安装使用的方法
Blob URL DataURL
apache虚拟主机配置的方式有哪些