`मुक्त` कमांड में` साझा` मेमोरी का क्या अर्थ है?


12

के आउटपुट में चौथा कॉलम साझाfree नाम का है । अधिकांश आउटपुट पर मैं इंटरनेट में देख सकता हूं, साझा की गई मेमोरी शून्य है। लेकिन मेरे कंप्यूटर पर ऐसा नहीं है:

$ free -h
          total        used        free      shared  buff/cache   available
Mem:       7,7G        3,8G        1,1G        611M        2,8G        3,0G
Swap:      3,8G          0B        3,8G

यहाँ के उत्पादन का एक अंश भी है ps_mem.py:

 Private  +   Shared  =  RAM used   Program
---------------------------------
 21.4 MiB +   1.0 MiB =  22.4 MiB   bash (9)
 29.2 MiB +   5.3 MiB =  34.5 MiB   Xorg
 35.9 MiB + 858.5 KiB =  36.7 MiB   tor
 42.9 MiB +   9.6 MiB =  52.5 MiB   urxvt (16)
121.0 MiB +  24.9 MiB = 145.8 MiB   okular (2)
151.8 MiB +   2.8 MiB = 154.6 MiB   soffice.bin
  3.7 GiB + 209.3 MiB =   4.0 GiB   chromium (39)
---------------------------------
                          4.6 GiB
=================================

साझा मेमोरी का अर्थ क्या है ?

प्रश्न 14102 में मुख्य उत्तर कहता है: साझा: एक अवधारणा जो अब मौजूद नहीं है। यह पिछड़े संगतता के लिए आउटपुट में बचा है । मुझे अपर्याप्त लगता है। एक "गैर-मौजूद" अवधारणा 600+ एमबी की रैम नहीं लेती है।



क्या आपने कोशिश की है man free?
आर्केमेयर

@Archemar मैनपेज कहता है: "शेयर्ड: मेमोरी यूज (ज्यादातर) tmpfs द्वारा (Shmem in / proc / meminfo)"। यह बहुत स्पष्ट नहीं है; मुझे अधिक विस्तृत विवरण चाहिए।
बर्ट्स

जवाबों:


5

freeTmpfs /proc/meminfoफाइल सिस्टम (मेमोरी में एक फाइल सिस्टम) और साझा की गई मेमोरी (द्वारा आवंटित shmget(2)) द्वारा उपयोग की जाने वाली सभी मेमोरी को "साझा" और "शम" में । यह https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt में प्रलेखित है ।

यहाँ मेरा एक सर्वर से एक उदाहरण है:

$ free -k
              total        used        free      shared  buff/cache   available
Mem:      264036296     1275384   254696692     1182024     8064220   260536208
Swap:      63998972           0    63998972

$ grep Shmem /proc/meminfo
Shmem:           1182024 kB

$ df -BK | grep tmpfs
tmpfs        26403632K       51424K    26352208K   1% /run
tmpfs       132018148K         224K   132017924K   1% /dev/shm
tmpfs            5120K           4K        5116K   1% /run/lock
tmpfs       132018148K           0K   132018148K   0% /sys/fs/cgroup
tmpfs       251658240K     1129036K   250529204K   1% /run/shm
tmpfs        26403632K          24K    26403608K   1% /run/user/108
tmpfs        26403632K           0K    26403632K   0% /run/user/5800006

यदि आप सूचीबद्ध किए गए सभी tmpfs फाइल सिस्टम के उपयोग किए गए आकार (तृतीय स्तंभ) को dfजोड़ते हैं, तो आपको योग "साझा" और "शम" के बराबर होगा।


समझाने के लिए धन्यवाद, लेकिन क्या वे tmpfsआवश्यक हैं, क्या मैं उन्हें हटा सकता हूं और यदि संभव हो तो मैं उन्हें कैसे हटाऊं? मैंने हाइबरनेशन से सिस्टम को जागने के बाद इस मुद्दे पर कई बार सामना किया है (~ 4 जीबी द्वारा लिया गया है shared)
कसुन सियांबालपिटिया

2
हाय @ कासुनीसामबलपिटिया। Shemem में GEM ग्राफिक्स बफ़र्स भी शामिल हैं, कर्नेल स्रोत टिप्पणियों और सूचियों के अनुसार । सिस्टमड के कुछ पिछले संस्करणों में एक बग था जो ग्राफिक्स सर्वर से लीक होने पर (गंभीरता से) ग्राफिक्स बफ़र्स को लीक कर देता था ... जो "मज़ेदार" था। unix.stackexchange.com/questions/431982/… । यह विशिष्ट समस्या केवल तभी लागू हो सकती है जब आपका पूरा चित्रमय सत्र क्रैश हो रहा हो, या यदि आपने जानबूझकर अपने पूरे सत्र (और फिर से वापस) से लॉग आउट किया हो।
sourcejedi
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.