tag:blogger.com,1999:blog-7673377107942959487.post4335142710881597082..comments2023-03-27T13:24:40.939+03:00Comments on Andrey's Blog: И снова о памяти в Linux - /proc/meminfoAndrey Markelovhttp://www.blogger.com/profile/05226117171828356729noreply@blogger.comBlogger24125tag:blogger.com,1999:blog-7673377107942959487.post-32316923273589199772011-08-03T18:47:18.533+04:002011-08-03T18:47:18.533+04:002 Анонимный
Посмотрите вот здесь о том, как корре...2 Анонимный<br /><br />Посмотрите вот здесь о том, как корректно определить <a href="http://blog.scoutapp.com/articles/2010/01/11/free-memory-on-linux-free-m-vs-proc-meminfo" rel="nofollow">свободную память</a>Andriy Samilyakhttps://www.blogger.com/profile/11027842335700593125noreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-19160715676179230342009-05-05T23:56:00.000+04:002009-05-05T23:56:00.000+04:00Спасибо за интересную статью, но по моему как то с...Спасибо за интересную статью, но по моему как то сложновато написано. Я честно говоря так и не получил для себя ответа на вопрос: "как определить объем свободной (незанятой) памяти?". Может быть не очень корректно выражаюсь, но меня как системного администратора который мониторит загрузку сервера интересует банальный вопрос: "достаточно ли памяти на сервере для работы приложений?". Хотелось бы как то понять сколько в текущий момент занято памяти под приложения и сколько соответственно еще свободно и может быть использовано для запуска других приложений.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-70051350910594977502009-03-30T15:35:00.000+04:002009-03-30T15:35:00.000+04:00> однако сколько памяти может быть выделено на ...> однако сколько памяти может быть выделено на один процесс?<BR/><BR/>Ответ на ваш вопрос есть в kbase:<BR/>http://kbase.redhat.com/faq/docs/DOC-6571Andrey Markelovhttps://www.blogger.com/profile/05226117171828356729noreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-81471533721872699612009-03-30T15:30:00.000+04:002009-03-30T15:30:00.000+04:00Статья наглядная, понятная,однако сколько памяти м...Статья наглядная, понятная,<BR/>однако сколько памяти может быть выделено на один процесс? или это вопрос к самому приложению?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-19502542535345257732009-03-23T23:13:00.000+03:002009-03-23T23:13:00.000+03:00Спасибо, то что искал, а то нигде не расписано тол...Спасибо, то что искал, а то нигде не расписано толком чем Buffers от Cached отличаетсяРоманhttps://www.blogger.com/profile/13548703786345442062noreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-7423714063461860232009-03-03T10:02:00.000+03:002009-03-03T10:02:00.000+03:00Georgyi пишет...Написано доступно и понятно.Мне не...Georgyi пишет...<BR/><BR/>Написано доступно и понятно.<BR/>Мне не понятно почему на моей 32 р машине из 4 Гб видно всего 2852440 kB?<BR/>===============<BR/> Дело в том, что устройства шины PCI отображаются в "память". Очень много занимает видео-карта. Отображаются они "не впритык" - есть куча дырок. Пока памяти было мало, это не мешало. <BR/> 4 Гб - это максимальный размер адресуемой памяти для 32р. У вас он совпадает по размеру с реальной и происходит "перекрытие". Возможно что при запуске 2-х и более задач память все-таки используется, но я не интересовался этим вопросом.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-47458625644973133512009-01-26T14:05:00.000+03:002009-01-26T14:05:00.000+03:00"На вскидку" в голову ничего не приходит. возможно..."На вскидку" в голову ничего не приходит. возможно особенности вашей материнской платы/чипсета/etc... "С ходу" затрудняюсь что-либо еще сказать.Andrey Markelovhttps://www.blogger.com/profile/05226117171828356729noreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-56309425799091851152009-01-22T15:10:00.000+03:002009-01-22T15:10:00.000+03:00cat /boot/config-2.6.27.9-159.fc10.i686.PAE |grep ...cat /boot/config-2.6.27.9-159.fc10.i686.PAE |grep CONFIG_HIGHMEM<BR/># CONFIG_HIGHMEM4G is not set<BR/>CONFIG_HIGHMEM64G=y<BR/>CONFIG_HIGHMEM=y<BR/>В биосе естественно все 4 Гб видно.Georgyihttps://www.blogger.com/profile/01117088886289757252noreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-47690606488892986632009-01-21T10:08:00.000+03:002009-01-21T10:08:00.000+03:00А при компиляции ядра что было указано в параметра...А при компиляции ядра что было указано в параметрах CONFIG_HIGHMEM* ?Andrey Markelovhttps://www.blogger.com/profile/05226117171828356729noreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-17935414220475144002009-01-21T08:26:00.000+03:002009-01-21T08:26:00.000+03:00Написано доступно и понятно.Мне не понятно почему ...Написано доступно и понятно.<BR/>Мне не понятно почему на моей 32 р машине из 4 Гб видно всего 2852440 kB?<BR/>-------------------------<BR/> dmidecode -t memory<BR/># dmidecode 2.9<BR/>SMBIOS 2.3 present.<BR/><BR/>Handle 0x0007, DMI type 5, 24 bytes<BR/>Memory Controller Information<BR/> Error Detecting Method: 64-bit ECC<BR/> Error Correcting Capabilities:<BR/> None<BR/> Supported Interleave: One-way Interleave<BR/> Current Interleave: One-way Interleave<BR/> Maximum Memory Module Size: 1024 MB<BR/> Maximum Total Memory Size: 4096 MB<BR/> Supported Speeds:<BR/> 70 ns<BR/> 60 ns<BR/> Supported Memory Types:<BR/> Other<BR/> Unknown<BR/> Standard<BR/> FPM<BR/> EDO<BR/> Parity<BR/> ECC<BR/> SIMM<BR/> DIMM<BR/> Burst EDO<BR/> SDRAM<BR/> Memory Module Voltage: 3.3 V<BR/> Associated Memory Slots: 4<BR/> 0x0008<BR/> 0x0009<BR/> 0x000A<BR/> 0x000B<BR/> Enabled Error Correcting Capabilities:<BR/> None<BR/><BR/>Handle 0x0008, DMI type 6, 12 bytes<BR/>Memory Module Information<BR/> Socket Designation: CH A DIMM0<BR/> Bank Connections: 0 0<BR/> Current Speed: Unknown<BR/> Type: DIMM SDRAM<BR/> Installed Size: 1024 MB (Double-bank Connection)<BR/> Enabled Size: 1024 MB (Double-bank Connection)<BR/> Error Status: OK<BR/><BR/>Handle 0x0009, DMI type 6, 12 bytes<BR/>Memory Module Information<BR/> Socket Designation: CH A DIMM1<BR/> Bank Connections: 0 0<BR/> Current Speed: Unknown<BR/> Type: DIMM SDRAM<BR/> Installed Size: 1024 MB (Double-bank Connection)<BR/> Enabled Size: 1024 MB (Double-bank Connection)<BR/> Error Status: OK<BR/><BR/>Handle 0x000A, DMI type 6, 12 bytes<BR/>Memory Module Information<BR/> Socket Designation: CH B DIMM0<BR/> Bank Connections: 0 0<BR/> Current Speed: Unknown<BR/> Type: DIMM SDRAM<BR/> Installed Size: 1024 MB (Double-bank Connection)<BR/> Enabled Size: 1024 MB (Double-bank Connection)<BR/> Error Status: OK<BR/><BR/>Handle 0x000B, DMI type 6, 12 bytes<BR/>Memory Module Information<BR/> Socket Designation: CH B DIMM1<BR/> Bank Connections: 0 0<BR/> Current Speed: Unknown<BR/> Type: DIMM SDRAM<BR/> Installed Size: 1024 MB (Double-bank Connection)<BR/> Enabled Size: 1024 MB (Double-bank Connection)<BR/> Error Status: OK<BR/><BR/>Handle 0x0041, DMI type 16, 15 bytes<BR/>Physical Memory Array<BR/> Location: System Board Or Motherboard<BR/> Use: System Memory<BR/> Error Correction Type: None<BR/> Maximum Capacity: 4 GB<BR/> Error Information Handle: 0x0040<BR/> Number Of Devices: 4<BR/><BR/>Handle 0x0043, DMI type 17, 27 bytes<BR/>Memory Device<BR/> Array Handle: 0x0041<BR/> Error Information Handle: 0x0040<BR/> Total Width: 64 bits<BR/> Data Width: 64 bits<BR/> Size: 1024 MB<BR/> Form Factor: DIMM<BR/> Set: 1<BR/> Locator: J6G1<BR/> Bank Locator: CHANNEL A DIMM0<BR/> Type: DDR<BR/> Type Detail: Synchronous<BR/> Speed: 400 MHz (2.5 ns)<BR/> Manufacturer: Manufacturer1<BR/> Serial Number: SerNum1<BR/> Asset Tag: AssetTagNum1<BR/> Part Number: PartNum1<BR/><BR/>Handle 0x0045, DMI type 17, 27 bytes<BR/>Memory Device<BR/> Array Handle: 0x0041<BR/> Error Information Handle: 0x0040<BR/> Total Width: 64 bits<BR/> Data Width: 64 bits<BR/> Size: 1024 MB<BR/> Form Factor: DIMM<BR/> Set: 2<BR/> Locator: J6G2<BR/> Bank Locator: CHANNEL A DIMM1<BR/> Type: DDR<BR/> Type Detail: Synchronous<BR/> Speed: 400 MHz (2.5 ns)<BR/> Manufacturer: Manufacturer2<BR/> Serial Number: SerNum2<BR/> Asset Tag: AssetTagNum2<BR/> Part Number: PartNum2<BR/><BR/>Handle 0x0047, DMI type 17, 27 bytes<BR/>Memory Device<BR/> Array Handle: 0x0041<BR/> Error Information Handle: 0x0040<BR/> Total Width: 64 bits<BR/> Data Width: 64 bits<BR/> Size: 1024 MB<BR/> Form Factor: DIMM<BR/> Set: 1<BR/> Locator: J6H1<BR/> Bank Locator: CHANNEL B DIMM0<BR/> Type: DDR<BR/> Type Detail: Synchronous<BR/> Speed: 400 MHz (2.5 ns)<BR/> Manufacturer: Manufacturer3<BR/> Serial Number: SerNum3<BR/> Asset Tag: AssetTagNum3<BR/> Part Number: PartNum3<BR/><BR/>Handle 0x0049, DMI type 17, 27 bytes<BR/>Memory Device<BR/> Array Handle: 0x0041<BR/> Error Information Handle: 0x0040<BR/> Total Width: 64 bits<BR/> Data Width: 64 bits<BR/> Size: 1024 MB<BR/> Form Factor: DIMM<BR/> Set: 2<BR/> Locator: J6H2<BR/> Bank Locator: CHANNEL B DIMM1<BR/> Type: DDR<BR/> Type Detail: Synchronous<BR/> Speed: 400 MHz (2.5 ns)<BR/> Manufacturer: Manufacturer4<BR/> Serial Number: SerNum4<BR/> Asset Tag: AssetTagNum4<BR/> Part Number: PartNum4<BR/>------------------------<BR/>cat /proc/meminfo<BR/>MemTotal: 2852440 kB<BR/>MemFree: 1749984 kB<BR/>Buffers: 217368 kB<BR/>Cached: 535564 kB<BR/>SwapCached: 0 kB<BR/>Active: 593368 kB<BR/>Inactive: 414744 kB<BR/>HighTotal: 1964220 kB<BR/>HighFree: 1166880 kB<BR/>LowTotal: 888220 kB<BR/>LowFree: 583104 kB<BR/>SwapTotal: 3014648 kB<BR/>SwapFree: 3014648 kB<BR/>Dirty: 160 kB<BR/>Writeback: 0 kB<BR/>AnonPages: 255188 kB<BR/>Mapped: 9424 kB<BR/>Slab: 65432 kB<BR/>SReclaimable: 51968 kB<BR/>SUnreclaim: 13464 kB<BR/>PageTables: 1932 kB<BR/>NFS_Unstable: 0 kB<BR/>Bounce: 0 kB<BR/>WritebackTmp: 0 kB<BR/>CommitLimit: 4440868 kB<BR/>Committed_AS: 448500 kB<BR/>VmallocTotal: 114680 kB<BR/>VmallocUsed: 9948 kB<BR/>VmallocChunk: 104452 kB<BR/>HugePages_Total: 0<BR/>HugePages_Free: 0<BR/>HugePages_Rsvd: 0<BR/>HugePages_Surp: 0<BR/>Hugepagesize: 2048 kB<BR/>DirectMap4k: 12288 kB<BR/>DirectMap2M: 905216 kB<BR/>---------------------------<BR/>cat /proc/cpuinfo<BR/>processor : 0<BR/>vendor_id : GenuineIntel<BR/>cpu family : 15<BR/>model : 3<BR/>model name : Intel(R) Pentium(R) 4 CPU 3.40GHz<BR/>stepping : 4<BR/>cpu MHz : 3400.000<BR/>cache size : 1024 KB<BR/>physical id : 0<BR/>siblings : 2<BR/>core id : 0<BR/>cpu cores : 1<BR/>apicid : 0<BR/>initial apicid : 0<BR/>fdiv_bug : no<BR/>hlt_bug : no<BR/>f00f_bug : no<BR/>coma_bug : no<BR/>fpu : yes<BR/>fpu_exception : yes<BR/>cpuid level : 5<BR/>wp : yes<BR/>flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe constant_tsc pebs bts pni monitor ds_cpl cid xtpr<BR/>bogomips : 6800.16<BR/>clflush size : 64<BR/>power management:<BR/><BR/>processor : 1<BR/>vendor_id : GenuineIntel<BR/>cpu family : 15<BR/>model : 3<BR/>model name : Intel(R) Pentium(R) 4 CPU 3.40GHz<BR/>stepping : 4<BR/>cpu MHz : 3400.000<BR/>cache size : 1024 KB<BR/>physical id : 0<BR/>siblings : 2<BR/>core id : 0<BR/>cpu cores : 1<BR/>apicid : 1<BR/>initial apicid : 1<BR/>fdiv_bug : no<BR/>hlt_bug : no<BR/>f00f_bug : no<BR/>coma_bug : no<BR/>fpu : yes<BR/>fpu_exception : yes<BR/>cpuid level : 5<BR/>wp : yes<BR/>flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe constant_tsc pebs bts pni monitor ds_cpl cid xtpr<BR/>bogomips : 6799.01<BR/>clflush size : 64<BR/>power management:Georgyihttps://www.blogger.com/profile/01117088886289757252noreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-70808584197414753902009-01-17T12:55:00.000+03:002009-01-17T12:55:00.000+03:00> Переформулирую. Вы написали, что лоумем может...> Переформулирую. Вы написали, что лоумем может вмещать до гигабайта.<BR/><BR/>Нет. Я писал что High - это больше гигабайта. А LowTotal:897056<BR/><BR/>> если вся память умещается в лоумем?<BR/><BR/>Не помещается.<BR/><BR/>Лучше обратитесь к первоисточнику - книге "Ядро Linux" на которую я ссылался в конце поста.Andrey Markelovhttps://www.blogger.com/profile/05226117171828356729noreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-53257283953085134262009-01-17T12:47:00.000+03:002009-01-17T12:47:00.000+03:00Переформулирую. Вы написали, что лоумем может вмещ...Переформулирую. Вы написали, что лоумем может вмещать до гигабайта. 128М резервируются для маппинга хаймема. Но в чём смысл резервирования этих мегабайт и создания хаймема, если вся память умещается в лоумем?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-1597396015805036912009-01-16T19:20:00.000+03:002009-01-16T19:20:00.000+03:00> Если 32-битная ОС может прямо адресовать гига...> Если 32-битная ОС может прямо адресовать гигабайт<BR/><BR/>ЧТо такое "ОС может адресовать прямо"?<BR/> <BR/>Схема организации памяти в любой современной ОС доcтаточно сложная. Если говорить о Linux то есть понятие логического (инструкции машинного языка), виртуального (32-р целое без знака - до 4Гб) и физического адреса (начиная с Pentium Pro - 64 Гб). <BR/><BR/>Суть вашего вопроса в том что вы опасаетесь что "тереяете" 128M? Вы их не теряете HighTotal+ LowTotal= 1Гб.Andrey Markelovhttps://www.blogger.com/profile/05226117171828356729noreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-19556504911511190132009-01-16T17:49:00.000+03:002009-01-16T17:49:00.000+03:00Но почему? Если 32-битная ОС может прямо адресоват...Но почему? Если 32-битная ОС может прямо адресовать гигабайт.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-37492290517461216002009-01-16T15:41:00.000+03:002009-01-16T15:41:00.000+03:002 Анонимный Одно - страницы памяти, Другое - диско...2 Анонимный <BR/><BR/>Одно - страницы памяти, Другое - дисковы буфер<BR/><BR/>2 Woland <BR/><BR/>Ограничение архитектуры. Поставьте 64-р ОС.Andrey Markelovhttps://www.blogger.com/profile/05226117171828356729noreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-91150354463543274182009-01-16T15:32:00.000+03:002009-01-16T15:32:00.000+03:00Хорошая статья. Спасибо.Такой вот вопрос: на машин...Хорошая статья. Спасибо.<BR/><BR/>Такой вот вопрос: на машине гиг памяти. При этом, видимо, 128 метров таки резервируется для отображения хаймема, и как результат, этот хаймем появляется. :+)<BR/><BR/>HighTotal: 129432 kB<BR/>HighFree: 240 kB<BR/>LowTotal: 896616 kB<BR/>LowFree: 85488 kB<BR/><BR/>Можно ли заставить ядро использовать весь гигабайт как лоумем? Откуда вообще взялось такое поведение?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-9431138218044392352009-01-16T08:24:00.000+03:002009-01-16T08:24:00.000+03:00Классная статья, спасибо. Один вопрос: в чём разни...Классная статья, спасибо. Один вопрос: в чём разница между Dirty и Buffers? И те, и другие сбрасываются на диск.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-19454604023782206912009-01-15T20:59:00.000+03:002009-01-15T20:59:00.000+03:002 hubbitus> же из первого гига или из HIGHMEM в...2 hubbitus<BR/>> же из первого гига или из HIGHMEM выделяется?<BR/><BR/>HIGHMEM через эту область памяти отображается на 1й гигабайт<BR/><BR/>2 Анонимный <BR/><BR/>> а подскажите почему шаред память (IPC) занятая оракловым процессом <BR/><BR/>Это скорее в oracle metalink нужно а не в доке по Linux искать..<BR/><BR/>2 Yo!<BR/><BR/>> отделить "относящиеся к механизму IPC" от остального<BR/><BR/>С ходу - не скажу. Не знаю. Наверно копать нужно в сторону kernel.shm*, ipcs...Andrey Markelovhttps://www.blogger.com/profile/05226117171828356729noreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-73502744988294352452009-01-15T13:32:00.000+03:002009-01-15T13:32:00.000+03:00>Cached - Объем занятый в ОЗУ под кэш чтения ст...>Cached - Объем занятый в ОЗУ под кэш чтения страниц с диска (файлы, директории, файлы блочных устройств, данные, относящиеся к механизму IPC<BR/><BR/>а вот не подскажите, есть ли простой способ отделить "относящиеся к механизму IPC" от остального кешед ?Yo!https://www.blogger.com/profile/17991424430701375609noreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-25021331442325692742009-01-14T16:24:00.000+03:002009-01-14T16:24:00.000+03:00а подскажите почему шаред память (IPC) занятая ора...а подскажите почему шаред память (IPC) занятая оракловым процессом (структуры SGA) в линуксе показывается как cached ?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-54081356270097434072009-01-14T12:57:00.000+03:002009-01-14T12:57:00.000+03:00Круто, действительно просто и понятно все описано,...Круто, действительно просто и понятно все описано, спасибо большое.<BR/><BR/>А что это за резерв в 128Мб на 32 битных системах? Зачем, для чего? И со стрелочками так и не понял, он все же из первого гига или из HIGHMEM выделяется?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-11894724494250333632009-01-13T22:41:00.000+03:002009-01-13T22:41:00.000+03:00Очень хорошая статья, спасибоОчень хорошая статья, спасибоAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-82441881091241044032009-01-13T19:58:00.000+03:002009-01-13T19:58:00.000+03:00В качестве "замены" Visio я использую Dia. Павда э...В качестве "замены" Visio я использую Dia. Павда это не совсем полноценная замена. Конкретно же последние 2 картинки были "на скорую руку" нарисованы за 5 минут в KolourPaint. Для "быстрой и грязной" работы вполне норм.Andrey Markelovhttps://www.blogger.com/profile/05226117171828356729noreply@blogger.comtag:blogger.com,1999:blog-7673377107942959487.post-12117730850545585382009-01-13T19:16:00.000+03:002009-01-13T19:16:00.000+03:00Чем это вы так Андрей красиво рисуете, надеюсь это...Чем это вы так Андрей красиво рисуете, надеюсь это не visio? :)nonehttps://www.blogger.com/profile/13818535575397404266noreply@blogger.com