Показать сообщение отдельно
Старый 17.04.2008, 18:03   #414
Регистрация: 24.02.2008
Сообщений: 20
Репутация: 14
По умолчанию Ответ: WINE@Etersoft 1.0 SQL

Здесь таже проблема: [Для просмотра ссылок требуется регистрация. Зарегистрироваться...]

Bug description [edit]

Binary package hint: procps

The following information cannot be true. The machine only has 640MB of RAM and 750MB of swap. duplic.exe running in wine supposedly uses 2.5G of VIRT memory.

top - 15:11:41 up 16 days, 14:54, 7 users, load average: 2.16, 2.35, 2.31
Tasks: 142 total, 3 running, 126 sleeping, 13 stopped, 0 zombie
Cpu(s): 56.6%us, 25.4%sy, 18.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 637016k total, 587048k used, 49968k free, 7612k buffers
Swap: 762996k total, 111188k used, 651808k free, 281196k cached
4436 root 25 0 2591m 18m 6540 R 67.0 3.0 73:37.70 duplic8.exe
Marius Gedminas wrote on 2007-07-03: (permalink)

This is not necessarily incorrect. Virtual memory may be backed by memory-mapped files, not just swap and RAM.

An inspection of /proc/4436/maps (where 4436 is the pid) would give a clearer picture.
Rolf Leggewie wrote on 2007-07-23: (permalink)

* maps.gz (3.6 KiB, application/octet-stream)

What should I be looking for? I attach a sample output.
Andrew McCarthy wrote on 2008-03-04: (permalink)

As the man page for proc describes, the "maps" file lists all the mapped memory regions a process is using. Each line describes an area in that process's memory space and what it's related to. The first field is an address range (in hex), the second is the permissions on that address space, the third is the offset into the file, then the device number, then the inode, and finally the file itself.

With virtual memory mapping, a section of memory space can be made to represent a device or file (or a selected part of one). This doesn't mean that the file is really loaded into memory, but that if you *do* refer to that memory space, the contents of that file are what you'll get. The linked libraries, for instance, are mapped this way even if they're not used. As a convenience, a programmer could memory-map a whole CD, and then simply access it at random as if it was already loaded into memory. The kernel will handle things like actually reading or caching parts of the file. Other blocks of memory really are allocated, such as for variables.

In the case of your listing, there are two particularly large blocks, on line 46:
00623000-60000000 ---p 00623000 00:00 0
which is a memory range of 1.5GB, and on line 260:
80000000-b7cf0000 ---p 80000000 00:00 0
which represents another 892MB. If you add up all the ranges for the maps listing you give, you'll get 2593MB, which is pretty much what it says in your top screenshot.

I don't know what those extra-big memory spaces are for, perhaps somebody more familiar with Wine or the Linux process memory allocations can say. Either way, the "VIRT" output of top shows the total amount of such virtual memory spaces defined in the process. The "RES" column indicates the actual amount of physical RAM currently in use by the process.

Попытаюсь перевести суть.

Типа, неправильно интрепритировали параметр virt. Это может быть фронд-эндом для фалов, которые находяться ни в RAM ни в SWAP.

Как описывает man для proc, карты всех файлов используемым процессом.

В карте виртуальной памяти может быть файлы или устройства. Необязательно должны быть загружены в память, но обязательно на них есть ссылка в памяти.

Посмотрел картинку, там сервер практически не нагружен.

А теперь надо посмотреть на загрузку в эти 18 секунд на винде в эту минуту на top в linux

Последний раз редактировалось chemtech; 17.04.2008 в 18:21..
chemtech вне форума
Ответить с цитированием Вверх
Время генерации страницы 0.08238 секунды с 9 запросами