Компьютеры и Космонавтика

Автор Selector, 02.01.2009 16:01:30

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ber

ЦитироватьВай, опять Линукс.  :shock:
 Это общей памяти или физической оперативной?
 Потому как той, что на харддиске у меня, допустим, хоть G-й жуй. :D

Вам еще механизм виртуальной памяти описать? Ваш вопрос просто не корректен.

Какая конкретно задача у Вас?
"Too much of anything is bad, but too much good whiskey is barely enough."  Mark Twain (C)

Not

ЦитироватьНу, раз пошла такая пьянка, :D  могу поделиться опытом, что на базе объектно-ориентирваных подходов можно строить  модели физических процессов. В глубоко фундаментальные проблемы опускаться не пробовал, но основные процессы взаимодествия электрманитного излучения  и заряженных частиц с конденсированными фазами на качествнном уровне описываются, ИМХО, корректно, вплоть до кооперативных эффектов на регулярных атомарных решетках и атомарных кластерах. При корректном использовании методов матфизики можно  оптимизировать(интенсифицировать) разработку  вычислительных программ, использующих обший набор объектно-ориентированных локальных моделей. Хочу подчеркнуть, что объектно-ориентированный подход используется  не как метод теоретического исследования, а метод систематизации полученных в частных иследования экспериментальных и теоретических данных и способ их комплексного осмысления и верификации.
Здорово, конечно, но с одной стороны методы матфизики обычно отличаются высокой размерностью, с другой - объектно-ориентированные программы потребляют много ресурсов на поддержание собственно объектности. Например, если вы применяете наследование (а если не наследовать, то зачем объектность?), то у каждого объекта появляются таблицы виртуальных методов, т.е. при каждом вызове оного сначала происходит перебор списка и только потом уже вызов кода метода. На больших сетках это непозволительно дорого. Вот и пишется вся матфизика на фортране, конкурентов которому по части скорости исполнения программы пока не просматривается.

sychbird

Юпитер, ты сердишся.... :wink:
Ответил со свойственной ему свирепостью (хотя и не преступая ни на дюйм границ учтивости). (C)  :)

Бродяга

ЦитироватьВам еще механизм виртуальной памяти описать? Ваш вопрос просто не корректен.

Какая конкретно задача у Вас?
А чо его описывать? :)
 Меня не интересует "виртуальная" память. Мне нужно ограничить объём физической оперативной памяти, которую занимает процесс.
 В винде. :P
[color=#000000:7a9ea26d56]"В тот день, когда задрожат стерегущие дом, и согнутся мужи силы; и перестанут молоть мелющие, потому что их немного осталось; и помрачатся смотрящие в окно;"[/color]

Бродяга

Понимаете, в данном вопросе, я рассуждаю как чуть продвинутый юзер.
 У меня есть процесс, он пожирает всю оперативную память, я этого не хочу. :)
 Всё. :)
[color=#000000:7a9ea26d56]"В тот день, когда задрожат стерегущие дом, и согнутся мужи силы; и перестанут молоть мелющие, потому что их немного осталось; и помрачатся смотрящие в окно;"[/color]

Not

ЦитироватьUnix и винды это одно и то же. Совершенно одинаково дебельные операционные системы с одинаковыми недстатками.
ЦитироватьЗадача весьма простая, и нерешаемость её исходит из того, что писали эти системы "писючечные дибилы".
ЦитироватьПонимаете, в данном вопросе, я рассуждаю как чуть продвинутый юзер.

Не находите противоречия?  :wink:

Бродяга

Цитировать
ЦитироватьUnix и винды это одно и то же. Совершенно одинаково дебельные операционные системы с одинаковыми недстатками.
ЦитироватьЗадача весьма простая, и нерешаемость её исходит из того, что писали эти системы "писючечные дибилы".
ЦитироватьПонимаете, в данном вопросе, я рассуждаю как чуть продвинутый юзер.
Не находите противоречия?  :wink:
Решите.
 У вас есть приложение, которое после запуска постепенно занимает всю оперативную память. Приложение писано не вами и вы не знаете как оно работает.

 Вам надо "запихнуть его в бутылку".
 (Если вы думаете, что вы первый, кого я спрашиваю, вы сильно ошибаетесь, даже, можно сказать, вы аццки не правы.)
[color=#000000:7a9ea26d56]"В тот день, когда задрожат стерегущие дом, и согнутся мужи силы; и перестанут молоть мелющие, потому что их немного осталось; и помрачатся смотрящие в окно;"[/color]

sychbird

Цитировать
ЦитироватьНу, раз пошла такая пьянка, :D  могу поделиться опытом, что на базе объектно-ориентирваных подходов можно строить  модели физических процессов. В глубоко фундаментальные проблемы опускаться не пробовал, но основные процессы взаимодествия электрманитного излучения  и заряженных частиц с конденсированными фазами на качествнном уровне описываются, ИМХО, корректно, вплоть до кооперативных эффектов на регулярных атомарных решетках и атомарных кластерах. При корректном использовании методов матфизики можно  оптимизировать(интенсифицировать) разработку  вычислительных программ, использующих обший набор объектно-ориентированных локальных моделей. Хочу подчеркнуть, что объектно-ориентированный подход используется  не как метод теоретического исследования, а метод систематизации полученных в частных иследования экспериментальных и теоретических данных и способ их комплексного осмысления и верификации.
Здорово, конечно, но с одной стороны методы матфизики обычно отличаются высокой размерностью, с другой - объектно-ориентированные программы потребляют много ресурсов на поддержание собственно объектности. Например, если вы применяете наследование (а если не наследовать, то зачем объектность?), то у каждого объекта появляются таблицы виртуальных методов, т.е. при каждом вызове оного сначала происходит перебор списка и только потом уже вызов кода метода. На больших сетках это непозволительно дорого. Вот и пишется вся матфизика на фортране, конкурентов которому по части скорости исполнения программы пока не просматривается.
Про матфизику и Фортран все верно. Но принцип наследования отражает универсальный принцип структурной иерархии строения материи. И никто не мешает строить объект с зашитыми фортранными модулями вычислений. Но, честно говоря, я вопросами экономии вычислительных ресурсов не занимался. Меня больше интересовала методика полного описания взаимосвязей и иерархии структур. Тогда и на качественном и полуколличественом уровне многое делается прозрачным.
Ответил со свойственной ему свирепостью (хотя и не преступая ни на дюйм границ учтивости). (C)  :)

Ber

Про винду я молчу.  Юникс позволяет ограничивать ресурсы, для процесса.  Там все написано, и проц, и память, и стек, и размер файлов, отдельно сегмент данных (то что Вам в сущности нужно).  
Хоть все процессы прижмите. А если Вы запустили хренову тучу непонятно чего и оперативки не хватило, то вытесненные процессы пойдут на виртуалку.
Если уж совсем эксклюзивная задача, возьмите QNX.

А винда незаменимая весч там DirectX  и на ней гамать удобно.
"Too much of anything is bad, but too much good whiskey is barely enough."  Mark Twain (C)

Бродяга

ЦитироватьПро винду я молчу.  Юникс позволяет ограничивать ресурсы, для процесса.  Там все написано, и проц, и память, и стек, и размер файлов, отдельно сегмент данных (то что Вам в сущности нужно).  
Хоть все процессы прижмите. А если Вы запустили хренову тучу непонятно чего и оперативки не хватило, то вытесненные процессы пойдут на виртуалку.
Если уж совсем эксклюзивная задача, возьмите QNX.

А винда незаменимая весч там DirectX  и на ней гамать удобно.
Суть в чём, меня не устраивает ситуация "оперативки не хватило".
 Меня устраивает ситуация "ты, неведомая сущность, заними хоть сколько места на харде". :D

 Мне нужно соблюдение условия, чтобы под мои штатные процессы было зарезервированно нужное количество физической оперативной памяти, с той целью, чтобы они выполнялись быстро. :)

 Как я понял, ни одна современная операционка этого делать не умеет.
[color=#000000:7a9ea26d56]"В тот день, когда задрожат стерегущие дом, и согнутся мужи силы; и перестанут молоть мелющие, потому что их немного осталось; и помрачатся смотрящие в окно;"[/color]

duke

ЦитироватьЕсть процесс, (виндовый, линуксовый, насрать какой), он жрёт свободную память. Надо ограничить объём оперативной памяти (физической) чтобы он её всю не зохавал. :)
Это можно сделать несколькими способами. Я знаю как минимум три. Один работает в любой ОС, но весьма извращенский. Второй работает в юникс-лайк системах, ну в линуксе точно(его вам выше продемонстрировали). Третий работает в FreeBSD, возможно ещё где-то.
ЦитироватьЗачем нужнО решение такой задачи надо обосновывать? ;)
Вы уверены, что с этим процессом не случится ничего плохого, когда закончится отведённая ему память?
"Программиста" тоже убейте!

Бродяга

Цитировать
ЦитироватьЕсть процесс, (виндовый, линуксовый, насрать какой), он жрёт свободную память. Надо ограничить объём оперативной памяти (физической) чтобы он её всю не зохавал. :)
Это можно сделать несколькими способами. Я знаю как минимум три. Один работает в любой ОС, но весьма извращенский. Второй работает в юникс-лайк системах, ну в линуксе точно. Третий работает в FreeBSD, возможно в линуксе тоже можно, но тут неуверен.
Если это вообще где-то и как-то работает, я буду крайне удивлён. :)
 Хотя раньше я был удивлён тем, что это никак и нигде не работает. :)
 Как я понял, каждому процессу даётся 4 Г памяти, и неизвестно что за память и зачем. :)
Цитировать
ЦитироватьЗачем нужнО решение такой задачи надо обосновывать? ;)
Вы уверены, что с этим процессом не случится ничего плохого, когда закончится отведённая ему память?
Ой, да я его ненавижу. :D
 Это Microsoft Exchange Server. :D
[color=#000000:7a9ea26d56]"В тот день, когда задрожат стерегущие дом, и согнутся мужи силы; и перестанут молоть мелющие, потому что их немного осталось; и помрачатся смотрящие в окно;"[/color]

duke

Вы обосрали все ОС, когда вам показали, что вы не правы, и это только в виндусе так - вы орёте "дайте мне это на виндусе!". Звоните в Microsoft, и требуйте это от них. Кроме них этого больше никто сделать не может, потому что они так захотели. Линукс делают обычные люди, и в нём есть многое, что хоть кому-то нужно, а если нету - можно добавить.
"Программиста" тоже убейте!

duke

ЦитироватьЭто Microsoft Exchange Server.
Ещё одно доказательство того, что вы не более чем ламер.
"Программиста" тоже убейте!

Бродяга

ЦитироватьЁпт. Прочитал последние две страницы. Ппц...
Бродяга, вы всего лишь тупой ламер, который я уже писал зачем ставил линукс.
Вы обосрали все ОС, когда вам показали, что вы не правы, и это только в виндусе так - вы орёте "дайте мне это на виндусе!". Звоните в Microsoft, и требуйте это от них. Кроме них этого больше никто сделать не может. Линукс делают обычные люди, и в нём есть многое, что хоть кому-то нужно, а если нету - можно добавить.
Детка, а средствами операционной системы, любой, вы чо-нить можете? ;)
 Вот в ОС-ЕС я бы загнал задачу в контейнер и не парилсо бы. :D

 И не приводите в пример ваш Линукс, ваш Линукс есть "операционная система из Чуйской долины", всё остальное дороже винды.
[color=#000000:7a9ea26d56]"В тот день, когда задрожат стерегущие дом, и согнутся мужи силы; и перестанут молоть мелющие, потому что их немного осталось; и помрачатся смотрящие в окно;"[/color]

duke

ЦитироватьДетка, а средствами операционной системы, любой, вы чо-нить можете? ;)
Вам выше привели пример этого "чо-нить".
Для инвалидов повторю:
Цитировать
ЦитироватьВ операционной системе Linux реализована возможность ограничения системных ресурсов для одного процесса. Делается это через системный вызов setrlimit

памяти для одного процесса. Устанавливается это ограничение при помощи вызова setrlimit:

#include

#include

#include

int setrlimit (int resource , const struct rlimit * rlim );

Параметр resource может принимать одно из следующих значений:

RLIMIT_CPU /* CPU time in seconds */

RLIMIT_FSIZE /* Maximum filesize */

RLIMIT_DATA /* max data size */

RLIMIT_STACK /* max stack size */

RLIMIT_CORE /* max core file size */

RLIMIT_RSS /* max resident set size */

RLIMIT_NPROC /* max number of processes */

RLIMIT_NOFILE /* max number of open files */

RLIMIT_MEMLOCK /* max locked-in-memory address space*/

Это же самое можно сделать с помощью изменения файлов в /proc
"Программиста" тоже убейте!

Бродяга

Цитировать
ЦитироватьЭто Microsoft Exchange Server.
Ещё одно доказательство того, что вы не более чем ламер.
Ага, я ламер.
 Но в своё время с системного терминала я бы вас загнал в бутылку без проблем. Парой команд.
[color=#000000:7a9ea26d56]"В тот день, когда задрожат стерегущие дом, и согнутся мужи силы; и перестанут молоть мелющие, потому что их немного осталось; и помрачатся смотрящие в окно;"[/color]

Бродяга

Цитировать
ЦитироватьДетка, а средствами операционной системы, любой, вы чо-нить можете? ;)
Вам выше привели пример этого "чо-нить".
Для инвалидов повторю:
Цитировать
ЦитироватьВ операционной системе Linux реализована возможность ограничения системных ресурсов для одного процесса. Делается это через системный вызов setrlimit

памяти для одного процесса. Устанавливается это ограничение при помощи вызова setrlimit:

#include

#include

#include

int setrlimit (int resource , const struct rlimit * rlim );

Параметр resource может принимать одно из следующих значений:

RLIMIT_CPU /* CPU time in seconds */

RLIMIT_FSIZE /* Maximum filesize */

RLIMIT_DATA /* max data size */

RLIMIT_STACK /* max stack size */

RLIMIT_CORE /* max core file size */

RLIMIT_RSS /* max resident set size */

RLIMIT_NPROC /* max number of processes */

RLIMIT_NOFILE /* max number of open files */

RLIMIT_MEMLOCK /* max locked-in-memory address space*/

Это же самое можно сделать с помощью изменения файлов, а не только из языка.
А по-русски? Я на линуксоидном языке не говорю. :)
[color=#000000:7a9ea26d56]"В тот день, когда задрожат стерегущие дом, и согнутся мужи силы; и перестанут молоть мелющие, потому что их немного осталось; и помрачатся смотрящие в окно;"[/color]

Not

Цитировать
Цитировать
ЦитироватьUnix и винды это одно и то же. Совершенно одинаково дебельные операционные системы с одинаковыми недстатками.
ЦитироватьЗадача весьма простая, и нерешаемость её исходит из того, что писали эти системы "писючечные дибилы".
ЦитироватьПонимаете, в данном вопросе, я рассуждаю как чуть продвинутый юзер.
Не находите противоречия?  :wink:
Решите.
 У вас есть приложение, которое после запуска постепенно занимает всю оперативную память. Приложение писано не вами и вы не знаете как оно работает.

 Вам надо "запихнуть его в бутылку".
 (Если вы думаете, что вы первый, кого я спрашиваю, вы сильно ошибаетесь, даже, можно сказать, вы аццки не правы.)

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

ЦитироватьComputer Configuration\Windows Settings\Local Policies\User Right Assignment.

 Adjust memory quotas for a process

This policy setting allows a user to adjust the maximum amount of memory that is available to a process. The ability to adjust memory quotas is useful for system tuning, but it can be abused. In the wrong hands, this setting could be used to launch a denial of service (DoS) attack.

Бродяга

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

ЦитироватьComputer Configuration\Windows Settings\Local Policies\User Right Assignment.

 Adjust memory quotas for a process

This policy setting allows a user to adjust the maximum amount of memory that is available to a process. The ability to adjust memory quotas is useful for system tuning, but it can be abused. In the wrong hands, this setting could be used to launch a denial of service (DoS) attack.
Ага, я извиняюсь и готов даже признать себя полным дибилом. :)
 Полученное знание стоит того. О сервере и идёт речь. :)

 Итак, у меня есть приложение написанное сторонним источником, которым я не могу управлять изнутри приложения.
 Как я могу средствами операционной системы ограничить использовние этим приложением оперативной памяти? Именно физической оперативной памяти, на диске пусть оно хоть 10 Г занимает, мне плевать.
[color=#000000:7a9ea26d56]"В тот день, когда задрожат стерегущие дом, и согнутся мужи силы; и перестанут молоть мелющие, потому что их немного осталось; и помрачатся смотрящие в окно;"[/color]