RU2618380C2 - Способ и устройство для оптимизации памяти - Google Patents
Способ и устройство для оптимизации памяти Download PDFInfo
- Publication number
- RU2618380C2 RU2618380C2 RU2015121678A RU2015121678A RU2618380C2 RU 2618380 C2 RU2618380 C2 RU 2618380C2 RU 2015121678 A RU2015121678 A RU 2015121678A RU 2015121678 A RU2015121678 A RU 2015121678A RU 2618380 C2 RU2618380 C2 RU 2618380C2
- Authority
- RU
- Russia
- Prior art keywords
- resources
- control group
- threshold amount
- amount
- processes
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Изобретение относится к вычислительной технике. Технический результат заключается в уменьшении длительной временной задержки для операции выгрузки. Способ для оптимизации памяти, в котором когда новый созданный процесс должен добавляться в группу управления, обнаруживают то, достигает или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой в текущий момент времени, критического объема ресурсов; при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой в текущий момент времени, достигает критического объема ресурсов, добавляют новый созданный процесс в новую группу управления, которая не ограничивается посредством порогового объема ресурсов, или в группу управления системой, при этом удаляя ограничение порогового объема ресурсов; и выполняют операцию выгрузки для ресурсов, занимаемых посредством бездействующего процесса в группе управления системой, так что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, меньше порогового объема ресурсов. 3 н. и 10 з.п. ф-лы, 5 ил.
Description
Перекрестные ссылки на родственные заявки
[0001] Данная заявка основана и притязает на приоритет патентной заявки Китая номер 201410602435.3, поданной 31 октября 2014 года, содержимое которой полностью содержится в данном документе посредством ссылки.
Область техники, к которой относится изобретение
[0002] Настоящее раскрытие сущности относится к области техники компьютерных технологий, а более конкретно к способу и устройству для оптимизации памяти.
Уровень техники
[0003] В силу все большего числа приложений, работающих в терминале, доступная память терминала становится все меньше, что влияет на бесперебойность работающих приложений; как следствие, память терминала должна быть оптимизирована.
[0004] При оптимизации памяти терминал может размещать множество созданных процессов в одной группе управления (Cgroup) и ограничивать объем совокупных ресурсов, которые могут заниматься посредством процессов в группе управления, посредством задания порогового объема ресурсов. Когда терминал должен добавлять новый созданный процесс в группу управления и обнаруживать то, что объем совокупных ресурсов группы управления после добавления нового созданного процесса превышает пороговый объем ресурсов, выполняется операция выгрузки (подкачки), т.е. терминал передает данные, соответствующие бездействующему процессу, который не используется в течение определенного периода времени в группе управления, в устройство хранения данных, выделяет ресурсы, занимаемые посредством данных, для нового созданного процесса и передает данные из устройства хранения данных в ресурсы, занимаемые посредством группы управления, когда бездействующий процесс требуется снова.
[0005] В процессе осуществления настоящего раскрытия сущности обнаружено, что предшествующий уровень техники имеет, по меньшей мере, следующие недостатки: когда терминал добавляет новый созданный процесс в группу управления при выполнении операции выгрузки, временная задержка операции выгрузки является относительно длительной, что влияет на скорость работы терминала.
Сущность изобретения
[0006] Чтобы преодолевать такую проблему, что на скорость работы терминала оказывается влияние вследствие длительной временной задержки для операции выгрузки, выполняемой посредством терминала при добавлении нового созданного процесса в группу управления, настоящее раскрытие сущности предоставляет способ и устройство для оптимизации памяти.
[0007] Согласно первому аспекту вариантов осуществления настоящего раскрытия сущности, предусмотрен способ для оптимизации памяти, включающий в себя:
[0008] - когда новый созданный процесс должен добавляться в группу управления, обнаружение того, достигает или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, критического объема ресурсов, причем критический объем ресурсов представляет собой объем ресурсов, когда объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, меньше порогового объема ресурсов, соответствующего группе управления, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления после того, как новый созданный процесс добавляется в группу управления, превышает пороговый объем ресурсов;
[0009] - при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, достигает критического объема ресурсов, добавление нового созданного процесса в группу управления, которая не ограничивается посредством порогового объема ресурсов; и
[0010] - выполнение операции выгрузки для ресурсов, занимаемых посредством бездействующего процесса в группе управления, так что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, меньше порогового объема ресурсов.
[0011] При необходимости, если группа управления представляет собой группу управления системой, ограниченную посредством порогового объема ресурсов, то добавление нового созданного процесса в группу управления, которая не ограничивается посредством порогового объема ресурсов, включает в себя:
[0012] - сохранение порогового объема ресурсов группы управления системой;
[0013] - отмену ограничения порогового объема ресурсов для объема совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой; и
[0014] - добавление нового созданного процесса в группу управления системой.
[0015] При необходимости, если группа управления представляет собой группу, отличную от группы управления системой, которая не ограничивается посредством порогового объема ресурсов, в таком случае способ дополнительно включает в себя:
[0016] - считывание порогового объема ресурсов группы управления системой и определение порогового объема ресурсов в качестве порогового объема ресурсов, соответствующего группе, отличной от группы управления системой.
[0017] При необходимости, выполнение операции выгрузки для ресурсов, занимаемых посредством бездействующего процесса в группе управления, так что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, меньше порогового объема ресурсов, включает в себя:
[0018] - задание начального порогового объема ресурсов для группы управления, причем начальный пороговый объем ресурсов превышает пороговый объем ресурсов;
[0019] - обнаружение того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов;
[0020] - при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, меньше начального порогового объема ресурсов, снижение начального порогового объема ресурсов и непрерывное выполнение этапа обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов, до тех пор, пока начальный пороговый объем ресурсов не будет равен пороговому объему ресурсов, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, не будет меньше порогового объема ресурсов; и
[0021] - при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, превышает начальный пороговый объем ресурсов, выполнение операции выгрузки для ресурсов, занимаемых посредством бездействующего процесса в группе управления, и непрерывное выполнение этапа обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов.
[0022] При необходимости, снижение начального порогового объема ресурсов и непрерывное выполнение этапа обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов, до тех пор, пока начальный пороговый объем ресурсов не будет равен пороговому объему ресурсов, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, не будет меньше порогового объема ресурсов, включает в себя:
[0023] - снижение начального порогового объема ресурсов;
[0024] - обнаружение того, меньше или нет разность между начальным пороговым объемом ресурсов после снижения и пороговым объемом ресурсов предварительно определенного числового значения; и
[0025] - при обнаружении того, что разность меньше предварительно определенного числового значения, задание начального порогового объема ресурсов после снижения в качестве порогового объема ресурсов и непрерывное выполнение этапа обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов, до тех пор, пока объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, не будет меньше порогового объема ресурсов.
[0026] При необходимости, способ дополнительно включает в себя:
[0027] - если возникает ошибка при снижении начального порогового объема ресурсов, прекращение модификации начального порогового объема ресурсов; и
[0028] - после предварительно определенного периода времени, задание начального порогового объема ресурсов в качестве начального порогового объема ресурсов перед снижением и непрерывное выполнение этапа обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов.
[0029] Согласно второму аспекту настоящего раскрытия сущности, предусмотрено устройство для оптимизации памяти, включающее в себя:
[0030] - модуль обнаружения ресурсов, выполненный с возможностью, когда новый созданный процесс должен добавляться в группу управления, обнаруживать то, достигает или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, критического объема ресурсов, причем критический объем ресурсов представляет собой объем ресурсов, когда объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, меньше порогового объема ресурсов, соответствующего группе управления, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления после того, как новый созданный процесс добавляется в группу управления, превышает пороговый объем ресурсов;
[0031] - модуль добавления процессов, выполненный с возможностью, когда модуль обнаружения ресурсов обнаруживает то, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, достигает критического объема ресурсов, добавлять новый созданный процесс в группу управления, которая не ограничивается посредством порогового объема ресурсов; и
[0032] - модуль выгрузки ресурсов, выполненный с возможностью осуществлять операцию выгрузки для ресурсов, занимаемых посредством бездействующих процессов в группе управления, в которую добавляется новый созданный процесс посредством модуля добавления процессов, так что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, меньше порогового объема ресурсов.
[0033] При необходимости, когда группа управления представляет собой группу управления системой, ограниченную посредством порогового объема ресурсов, модуль добавления процессов включает в себя:
[0034] - субмодуль сохранения пороговых объемов, выполненный с возможностью сохранять пороговый объем ресурсов группы управления системой;
[0035] - субмодуль отмены ограничений, выполненный с возможностью отменять ограничение порогового объема ресурсов для объема совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой; и
[0036] - субмодуль добавления процессов, выполненный с возможностью добавлять новый созданный процесс в группу управления системой.
[0037] При необходимости, если группа управления представляет собой группу, отличную от группы управления системой, которая не ограничивается посредством порогового объема ресурсов, в таком случае устройство дополнительно включает в себя:
[0038] - модуль считывания пороговых объемов, выполненный с возможностью считывать пороговый объем ресурсов группы управления системой и определять пороговый объем ресурсов группы управления системой в качестве порогового объема ресурсов, соответствующего группе, отличной от группы управления системой.
[0039] При необходимости, модуль выгрузки ресурсов включает в себя:
[0040] - первый субмодуль задания, выполненный с возможностью задавать начальный пороговый объем ресурсов для группы управления, причем начальный пороговый объем ресурсов превышает пороговый объем ресурсов;
[0041] - субмодуль обнаружения ресурсов, выполненный с возможностью обнаруживать то, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов, заданного посредством первого субмодуля задания;
[0042] - первый субмодуль обработки, выполненный с возможностью, когда субмодуль обнаружения ресурсов обнаруживает то, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, меньше начального порогового объема ресурсов, снижать начальный пороговый объем ресурсов и непрерывно выполнять операцию обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов, до тех пор, пока начальный пороговый объем ресурсов не будет равен пороговому объему ресурсов, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, не будет меньше порогового объема ресурсов; и
[0043] - второй субмодуль обработки, выполненный с возможностью, когда субмодуль обнаружения ресурсов обнаруживает то, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, превышает начальный пороговый объем ресурсов, выполнять операцию выгрузки для ресурсов, занимаемых посредством бездействующего процесса в группе управления, и непрерывно выполнять операцию обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов.
[0044] При необходимости, первый субмодуль обработки включает в себя:
[0045] - субмодуль снижения пороговых объемов, выполненный с возможностью снижать начальный пороговый объем ресурсов;
[0046] - субмодуль обнаружения разностей, выполненный с возможностью обнаруживать то, меньше или нет разность между начальным пороговым объемом ресурсов после снижения посредством субмодуля снижения пороговых объемов и пороговым объемом ресурсов предварительно определенного числового значения; и
[0047] - второй субмодуль задания, выполненный с возможностью, когда субмодуль обнаружения разностей обнаруживает то, что разность меньше предварительно определенного числового значения, задавать начальный пороговый объем ресурсов после снижения в качестве порогового объема ресурсов и непрерывно выполнять операцию обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов, до тех пор, пока объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, не будет меньше порогового объема ресурсов.
[0048] При необходимости, первый субмодуль обработки дополнительно включает в себя:
[0049] - субмодуль приостановки модификации, выполненный с возможностью, когда возникает ошибка при снижении начального порогового объема ресурсов, прекращать модификацию начального порогового объема ресурсов; и
[0050] - субмодуль периодического повторения обнаружения, выполненный с возможностью, после предварительно определенного периода времени, задавать начальный пороговый объем ресурсов в качестве начального порогового объема ресурсов перед снижением и непрерывно выполнять операцию обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов.
[0051] Согласно третьему аспекту вариантов осуществления настоящего раскрытия сущности, предусмотрено устройство для оптимизации памяти, включающее в себя:
[0052] - процессор; и
[0053] - память для сохранения инструкций, выполняемых посредством процессора;
[0054] - при этом процессор выполнен с возможностью:
[0055] - когда новый созданный процесс должен добавляться в группу управления, обнаруживать то, достигает или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, критического объема ресурсов, причем критический объем ресурсов представляет собой объем ресурсов, когда объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, меньше порогового объема ресурсов, соответствующего группе управления, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления после того, как новый созданный процесс добавляется в группу управления, превышает пороговый объем ресурсов;
[0056] - при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, достигает критического объема ресурсов, добавлять новый созданный процесс в группу управления, которая не ограничивается посредством порогового объема ресурсов; и
[0057] - выполнять операцию выгрузки для ресурсов, занимаемых посредством бездействующего процесса в группе управления, так что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, меньше порогового объема ресурсов.
[0058] Технические решения, предоставленные посредством вариантов осуществления настоящего раскрытия сущности, могут включать в себя следующие преимущества:
[0059] - через обнаружение того, достигает или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, критического объема ресурсов, в то время как новый созданный процесс должен добавляться в группе управления, добавление нового созданного процесса в группу управления, которая не ограничивается посредством порогового объема ресурсов, при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, достигает критического объема ресурсов, и выполнение операции выгрузки для ресурсов, занимаемых посредством бездействующего процесса в группе управления, так что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, меньше порогового объема ресурсов, новый созданный процесс может добавляться в группу управления, которая не ограничивается посредством порогового объема ресурсов, и затем объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, может сжиматься, настоящее раскрытие сущности разрешает такую проблему, что на скорость работы терминала оказывается влияние вследствие длительной временной задержки для операции выгрузки, выполняемой посредством терминала при добавлении нового созданного процесса в группу управления, и достигает эффекта уменьшения временной задержки работы при сжатии памяти.
[0060] Следует понимать, что вышеприведенное общее описание и нижеприведенное подробное описание являются только примерными и пояснительными, а не ограничивающими изобретение.
Краткое описание чертежей
[0061] Прилагаемые чертежи, которые содержатся и составляют часть этого раскрытия изобретения, иллюстрируют варианты осуществления в соответствии с изобретением и наряду с описанием служат для того, чтобы пояснять принципы раскрытия изобретения.
[0062] Фиг. 1 является блок-схемой последовательности операций способа для оптимизации памяти, согласно примерному варианту осуществления.
[0063] Фиг. 2 является блок-схемой последовательности операций способа для оптимизации памяти, согласно другому примерному варианту осуществления.
[0064] Фиг. 3 является блок-схемой устройства для оптимизации памяти, согласно примерному варианту осуществления.
[0065] Фиг. 4 является блок-схемой устройства для оптимизации памяти, согласно примерному варианту осуществления.
[0066] Фиг. 5 является блок-схемой устройства для оптимизации памяти, согласно примерному варианту осуществления.
Осуществление изобретения
[0067] Далее приводится подробное описание примерных вариантов осуществления, примеры которых проиллюстрированы на прилагаемых чертежах. Нижеприведенное описание ссылается на прилагаемые чертежи, причем идентичные номера на различных чертежах представляют идентичные или аналогичные элементы, если не указано иное. Реализации, изложенные в нижеприведенном описании примерных вариантов осуществления, не представляют все реализации в соответствии с изобретением. Вместо этого, они являются просто примерами устройств и способов в соответствии с аспектами, связанными с изобретением, изложенным в прилагаемой формуле изобретения.
[0068] Фиг. 1 является блок-схемой последовательности операций способа для оптимизации памяти, согласно примерному варианту осуществления. Способ для оптимизации памяти применяется в терминале. Как показано на фиг. 1, способ для оптимизации памяти включает в себя следующие этапы.
[0069] На этапе 101, когда новый созданный процесс должен добавляться в группу управления, обнаруживается то, достигает или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, критического объема ресурсов, причем критический объем ресурсов представляет собой объем ресурсов, когда объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, меньше порогового объема ресурсов, соответствующего группе управления, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления после того, как новый созданный процесс добавляется в группу управления, превышает пороговый объем ресурсов.
[0070] Пороговый объем ресурсов представляет собой максимальный объем совокупных ресурсов, которые могут заниматься посредством всех процессов в группе управления. Когда объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, превышает пороговый объем ресурсов группы управления, группа управления должна выполнять операцию выгрузки ресурсов, чтобы сжимать память.
[0071] На этапе 102, при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, достигает критического объема ресурсов, новый созданный процесс добавляется в группу управления, не ограниченную посредством порогового объема ресурсов.
[0072] Когда группа управления ограничивается посредством порогового объема ресурсов и объем совокупных ресурсов, занимаемых посредством всех процессов, достигает критического объема ресурсов, операция выгрузки должна выполняться для ресурсов, занимаемых посредством бездействующих процессов в группе управления, при добавлении нового созданного процесса в группу управления, с тем чтобы обеспечивать то, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления после добавления нового созданного процесса, меньше порогового объема ресурсов. Тем не менее, выполнение операции выгрузки при добавлении нового созданного процесса в группу управления вызывает относительно длительную временную задержку для операции выгрузки и операции добавления, что влияет на скорость работы терминала; как следствие, терминал может добавлять новый созданный процесс в группу управления, не ограниченную посредством порогового объема ресурсов.
[0073] На этапе 103, операция выгрузки выполняется для ресурсов, занимаемых посредством бездействующего процесса в группе управления, так что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, меньше порогового объема ресурсов.
[0074] После добавления нового созданного процесса, поскольку объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в данный момент, превышает пороговый объем ресурсов, терминал также должен выполнять операцию выгрузки для ресурсов, занимаемых посредством бездействующего процесса в группе управления, чтобы сжимать память. Операция выгрузки означает операцию сжатия и передачи ресурсов, занимаемых посредством бездействующего процесса в группе управления, в виртуальное устройство хранения данных.
[0075] В заключение, через обнаружение того, достигает или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, критического объема ресурсов, в то время как новый созданный процесс должен добавляться в группе управления, добавление нового созданного процесса в группу управления, которая не ограничивается посредством порогового объема ресурсов, при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, достигает критического объема ресурсов, и выполнение операции выгрузки для ресурсов, занимаемых посредством бездействующих процессов в группе управления, так что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, меньше порогового объема ресурсов, новый созданный процесс может добавляться в группу управления, которая не ограничивается посредством порогового объема ресурсов, и затем объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, сжимается, устройство для оптимизации памяти, предоставленное посредством настоящего раскрытия сущности, разрешает такую проблему, что на скорость работы терминала оказывается влияние вследствие относительно длительной временной задержки для операции выгрузки, выполняемой посредством терминала при добавлении нового созданного процесса в группу управления, и достигает эффекта уменьшения временной задержки работы при сжатии памяти.
[0076] Фиг. 2 является блок-схемой последовательности операций способа для оптимизации памяти, согласно другому примерному варианту осуществления. Способ для оптимизации памяти применяется в терминале. Как показано на фиг. 2, способ для оптимизации памяти включает в себя следующие этапы.
[0077] На этапе 201, когда новый созданный процесс должен добавляться в группу управления, обнаруживается то, достигает или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, критического объема ресурсов, причем критический объем ресурсов представляет собой объем ресурсов, когда объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, меньше порогового объема ресурсов, соответствующего группе управления, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления после того, как новый созданный процесс добавляется в группу управления, превышает пороговый объем ресурсов.
[0078] Пороговый объем ресурсов представляет собой максимальный объем совокупных ресурсов, которые могут заниматься посредством всех процессов в группе управления. Когда объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, превышает пороговый объем ресурсов группы управления, группа управления должна выполнять операцию выгрузки ресурсов, чтобы сжимать память.
[0079] Критический объем ресурсов представляет собой объем ресурсов, когда объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, меньше порогового объема ресурсов, соответствующего группе управления, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления после того, как новый созданный процесс добавляется в группу управления, превышает пороговый объем ресурсов. Например, пороговый объем ресурсов, соответствующий группе управления, составляет 500 МБ, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, в которую должен добавляться новый созданный процесс, составляет 480 МБ; в этот момент, объем совокупных ресурсов (480 МБ) меньше порогового объема ресурсов (500 МБ); после того как новый созданный процесс добавляется, объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, составляет 520 МБ; в этот момент объем совокупных ресурсов (520 МБ) превышает пороговый объем ресурсов (500 МБ); и затем критический объем ресурсов группы управления определяется в качестве 480 МБ.
[0080] В варианте осуществления, группа управления может представлять собой группу управления системой. Группа управления системой представляет собой группу управления, которая является внутренней для системы и ограничивается посредством порогового объема ресурсов. Терминал может непосредственно считывать пороговый объем ресурсов группы управления системой и определять пороговый объем ресурсов в качестве порогового объема ресурсов, соответствующего группе управления.
[0081] В варианте осуществления, группа управления также может представлять собой группу, отличную от группы управления системой. Группа, отличная от группы управления системой, представляет собой группу управления, которая создана посредством терминала и не ограничивается посредством порогового объема ресурсов. Терминал может считывать пороговый объем ресурсов группы управления системой и определять пороговый объем ресурсов в качестве порогового объема ресурсов, соответствующего группе, отличной от группы управления системой. Иными словами, если группа управления представляет собой группу, отличную от группы управления системой, которая не ограничивается посредством порогового объема ресурсов, в таком случае способ для оптимизации памяти, предоставленный посредством настоящего раскрытия сущности, дополнительно включает в себя: считывание порогового объема ресурсов группы управления системой и определение порогового объема ресурсов в качестве порогового объема ресурсов, соответствующего группе, отличной от группы управления системой.
[0082] На этапе 202, при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, достигает критического объема ресурсов, новый созданный процесс добавляется в группу управления, не ограниченную посредством порогового объема ресурсов.
[0083] Когда группа управления ограничивается посредством порогового объема ресурсов и объем совокупных ресурсов, занимаемых посредством всех процессов, достигает критического объема ресурсов, операция выгрузки должна выполняться для ресурсов, занимаемых посредством бездействующего процесса в группе управления, при добавлении нового созданного процесса в группу управления, с тем чтобы обеспечивать то, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления после добавления нового созданного процесса, меньше порогового объема ресурсов. Тем не менее, выполнение операции выгрузки при добавлении нового созданного процесса в группу управления вызывает относительно длительную временную задержку для операции выгрузки и операции добавления, что влияет на скорость работы терминала; как следствие, терминал может добавлять новый созданный процесс в группу управления, не ограниченную посредством порогового объема ресурсов.
[0084] Группа управления, не ограниченная посредством порогового объема ресурсов, может представлять собой либо группу управления, полученную посредством отмены ограничения порогового объема ресурсов для группы управления системой, ограниченной посредством порогового объема ресурсов, либо группу, отличную от группы управления системой, которая не ограничивается посредством порогового объема ресурсов и создана посредством терминала.
[0085] Если группа управления представляет собой группу управления системой, ограниченную посредством порогового объема ресурсов, то добавление нового созданного процесса в группу управления, не ограниченную посредством порогового объема ресурсов, включает в себя:
[0086] 1) сохранение порогового объема ресурсов группы управления системой;
[0087] 2) отмену ограничения порогового объема ресурсов для объема совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой; и
[0088] 3) добавление нового созданного процесса в группу управления системой.
[0089] Терминал сохраняет пороговый объем ресурсов группы управления системой, отменяет ограничение порогового объема ресурсов для совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой, так что группа управления системой становится группой управления, не ограниченной посредством порогового объема ресурсов, и в таком случае терминал добавляет новый созданный процесс в группу управления системой, не ограниченную посредством порогового объема ресурсов.
[0090] На этапе 203, начальный пороговый объем ресурсов задается для группы управления, причем начальный пороговый объем ресурсов превышает пороговый объем ресурсов.
[0091] После добавления нового созданного процесса в группу управления, поскольку объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, превышает пороговый объем ресурсов, терминал также должен выполнять операцию выгрузки для ресурсов, занимаемых посредством бездействующего процесса в группе управления, чтобы сжимать память. Операция выгрузки означает операцию сжатия и передачи ресурсов, занимаемых посредством бездействующего процесса в группе управления, в виртуальное устройство хранения данных, при этом виртуальное устройство хранения данных может представлять собой RAM (оперативное запоминающее устройство).
[0092] Чтобы сжимать совокупные ресурсы, занимаемые посредством всех процессов в группе управления, и исключать проблему воздействия на скорость работы терминала, вызываемого посредством частого выполнения операции выгрузки вследствие относительно небольшого порогового объема ресурсов, терминал может задавать относительно большой начальный пороговый объем ресурсов для группы управления, непрерывно снижать начальный пороговый объем ресурсов и постепенно сжимать память через снижение начального порогового объема ресурсов.
[0093] На этапе 204, обнаруживается то, превышает или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начальный пороговый объем ресурсов.
[0094] После определения начального порогового объема ресурсов, терминал обнаруживает то, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов; если пороговый объем совокупных ресурсов меньше начального порогового объема ресурсов, что указывает то, что начальный пороговый объем ресурсов задается сверхбольшим, то начальный пороговый объем ресурсов должен снижаться, т.е. должен выполняться этап 205; а если пороговый объем совокупных ресурсов превышает начальный пороговый объем ресурсов, то операция выгрузки должна выполняться, т.е. должен выполняться этап 206.
[0095] На этапе 205, при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, меньше начального порогового объема ресурсов, начальный пороговый объем ресурсов снижается, и этап 204 непрерывно выполняется до тех пор, пока начальный пороговый объем ресурсов не будет равен пороговому объему ресурсов, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, не будет меньше порогового объема ресурсов.
[0096] Этап снижения начального порогового объема ресурсов и непрерывного выполнения этапа обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов, до тех пор, пока начальный пороговый объем ресурсов не будет равен пороговому объему ресурсов, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, не будет меньше порогового объема ресурсов, включает в себя:
[0097] 1) снижение начального порогового объема ресурсов;
[0098] 2) обнаружение того, меньше или нет разность между начальным пороговым объемом ресурсов после снижения и пороговым объемом ресурсов предварительно определенного числового значения; и
[0099] 3) при обнаружении того, что разность меньше предварительно определенного числового значения, задание начального порогового объема ресурсов после снижения в качестве порогового объема ресурсов и непрерывное выполнение этапа обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов, до тех пор, пока объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, не будет меньше порогового объема ресурсов.
[00100] Терминал снижает начальный пороговый объем ресурсов и определяет полученное числовое значение в качестве начального порогового объема ресурсов после снижения. Начальный пороговый объем ресурсов после снижения может получаться либо посредством снижения начального порогового объема ресурсов перед снижением на фиксированное значение, либо посредством вычисления согласно взаимосвязи между начальным пороговым объемом ресурсов перед снижением и пороговым объемом ресурсов.
[00101] При вычислении начального порогового объема ресурсов после снижения согласно взаимосвязи между начальным пороговым объемом ресурсов перед снижением и пороговым объемом ресурсов, терминал получает разность между начальным пороговым объемом ресурсов после снижения и пороговым объемом ресурсов и обнаруживает то, меньше или нет разность предварительно определенного числового значения. При обнаружении того, что разность превышает предварительно определенное числовое значение, терминал должен задавать начальный пороговый объем ресурсов после снижения в качестве нового начального порогового объема ресурсов и непрерывно выполнять этап обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов. При обнаружении того, что разность меньше предварительно определенного числового значения, в таком случае терминал должен задавать начальный пороговый объем ресурсов после снижения в качестве порогового объема ресурсов и непрерывно выполнять этап обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов, до тех пор, пока объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, не будет меньше порогового объема ресурсов.
[00102] Например, пороговый объем ресурсов группы управления составляет 500 МБ, начальный пороговый объем ресурсов составляет 900 МБ, и предварительно определенное числовое значение составляет 150 МБ. Объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, обнаруженной посредством терминала в первый раз, составляет 600 МБ. Поскольку объем совокупных ресурсов 600 МБ меньше начального порогового объема ресурсов 900 МБ, терминал выполняет операцию снижения начального порогового объема ресурсов и определяет то, что начальный пороговый объем ресурсов после снижения составляет 700 МБ, согласно формуле: начальный пороговый объем ресурсов после снижения = начальный пороговый объем ресурсов перед снижением – (начальный пороговый объем ресурсов перед снижением – пороговый объем ресурсов)/2, и разность между начальным пороговым объемом ресурсов после снижения (700 МБ) и пороговым объемом ресурсов (500 МБ) составляет 200 МБ; поскольку 200 МБ превышает предварительно определенное числовое значение (150 МБ), терминал задает начальный пороговый объем ресурсов равным 700 МБ и непрерывно выполняет этап обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов.
[00103] Если объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, обнаруженной посредством терминала во второй раз, составляет 500 МБ, поскольку объем совокупных ресурсов (500 МБ) меньше начального порогового объема ресурсов (700 МБ), терминал непрерывно определяет то, что начальный пороговый объем ресурсов после снижения составляет 600 МБ, согласно вышеприведенной формуле, и получает то, что разность между начальным пороговым объемом ресурсов после снижения (600 МБ) и пороговым объемом ресурсов (500 МБ) составляет 100 МБ; поскольку 100 МБ меньше предварительно определенного числового значения (150 МБ), терминал задает начальный пороговый объем ресурсов после снижения в качестве порогового объема ресурсов (500 МБ) и непрерывно выполняет этап обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов, до тех пор, пока объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, не будет меньше начального порогового объема ресурсов.
[00104] Следует проиллюстрировать то, что если терминал обнаруживает то, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, превышает начальный пороговый объем ресурсов все время в пределах предварительно определенного периода времени обнаружения, то терминал многократно выполняет операцию выгрузки для ресурсов, занимаемых посредством бездействующих процессов в группе управления, в пределах предварительно определенного периода времени обнаружения. Поскольку небольшой объем ресурсов занимается посредством бездействующих процессов в группе управления, когда операция выгрузки должна многократно выполняться, операция выгрузки может быть приостановлена и выполнена снова, когда больший объем ресурсов занимается посредством бездействующих процессов в группе управления, в силу этого исключая такую проблему, что на скорость работы терминала оказывается влияние вследствие операции выгрузки, многократно выполняемой в терминале, когда число бездействующих процессов в группе управления является небольшим, и память может постепенно сжиматься через уменьшение частоты для выполнения операции выгрузки, с тем чтобы повышать эффективность сжатия памяти.
[00105] Следовательно, терминал может определять ошибку при операции снижения начального порогового объема ресурсов при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, превышает начальный пороговый объем ресурсов все время в пределах предварительно определенного периода времени обнаружения. В это время способ для оптимизации памяти, предоставленный посредством варианта осуществления, дополнительно включает в себя:
[00106] 1) если возникает ошибка при снижении начального порогового объема ресурсов, прекращение модификации начального порогового объема ресурсов; и
[00107] 2) после предварительно определенного периода времени задание начального порогового объема ресурсов в качестве начального порогового объема ресурсов перед снижением и непрерывное выполнение этапа обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов.
[00108] Терминал при обнаружении того, что возникает ошибка при снижении начального порогового объема ресурсов, прекращает выполнение подпроцесса модификации начального порогового объема ресурсов в течение предварительно определенного периода времени, определяет начальный пороговый объем ресурсов перед снижением в качестве начального порогового объема ресурсов и непрерывно выполняет этап обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов.
[00109] Например, терминал обнаруживает то, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, превышает начальный пороговый объем ресурсов все время в пределах предварительно определенного периода времени обнаружения (3 минуты), в таком случае терминал прекращает выполнение подпроцесса модификации временного начального порогового объема ресурсов и начинает отсчет времени. Предполагается, что начальный пороговый объем ресурсов перед снижением составляет 900 МБ, и предварительно определенный период времени равен 1 минуте, далее после того, как отсчет времени достигает 1 минуты, терминал задает начальный пороговый объем ресурсов в качестве начального порогового объема ресурсов перед снижением (900 МБ) и непрерывно выполняет этап обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов.
[00110] На этапе 206, при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, превышает начальный пороговый объем ресурсов, операция выгрузки выполняется для ресурсов, занимаемых посредством бездействующего процесса в группе управления, и этап 204 непрерывно выполняется.
[00111] Например, терминал обнаруживает то, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, составляет 900 МБ; поскольку объем совокупных ресурсов (900 МБ) превышает начальный пороговый объем ресурсов (500 МБ), терминал выполняет операцию выгрузки для ресурсов, занимаемых посредством бездействующего процесса в группе управления, сжимает и сохраняет ресурсы, занимаемые посредством бездействующего процесса в группе управления, на виртуальном устройстве и непрерывно выполняет этап обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов.
[00112] В заключение, через обнаружение того, достигает или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, критического объема ресурсов, в то время как новый созданный процесс должен добавляться в группе управления, добавление нового созданного процесса в группу управления, которая не ограничивается посредством порогового объема ресурсов, при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, достигает критического объема ресурсов, и выполнение операции выгрузки для ресурсов, занимаемых посредством бездействующих процессов в группе управления, так что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, меньше порогового объема ресурсов, новый созданный процесс может добавляться в группу управления, которая не ограничивается посредством порогового объема ресурсов, и затем объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, сжимается, устройство для оптимизации памяти, предоставленное посредством настоящего раскрытия сущности, разрешает такую проблему, что на скорость работы терминала оказывается влияние вследствие относительно длительной временной задержки для операции выгрузки, выполняемой посредством терминала при добавлении нового созданного процесса в группу управления, и достигает эффекта уменьшения временной задержки работы при сжатии памяти.
[00113] Кроме того, через прекращение модификации начального порогового объема ресурсов, когда возникает ошибка при снижении начального порогового объема ресурсов, и задание начального порогового объема ресурсов в качестве начального порогового объема ресурсов перед снижением после предварительно определенного периода времени, настоящее раскрытие сущности исключает такую проблему, что на скорость работы терминала оказывается влияние вследствие операции выгрузки, многократно выполняемой в терминале, когда число бездействующих процессов в группе управления является небольшим, и может постепенно сжимать память через уменьшение частоты для выполнения операции выгрузки, с тем чтобы повышать эффективность сжатия памяти.
[00114] Фиг. 3 является блок-схемой устройства для оптимизации памяти, согласно примерному варианту осуществления. Устройство для оптимизации памяти применяется в терминале. Как показано на фиг. 3, устройство для оптимизации памяти включает в себя: модуль 310 обнаружения ресурсов, модуль 320 добавления процессов и модуль 330 выгрузки ресурсов.
[00115] Модуль 310 обнаружения ресурсов выполнен с возможностью, когда новый созданный процесс должен добавляться в группу управления, обнаруживать то, достигает или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, критического объема ресурсов, причем критический объем ресурсов представляет собой объем ресурсов, когда объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, меньше порогового объема ресурсов, соответствующего группе управления, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления после того, как новый созданный процесс добавляется в группу управления, превышает пороговый объем ресурсов.
[00116] Модуль 320 добавления процессов выполнен с возможностью, когда модуль обнаружения ресурсов обнаруживает то, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, достигает критического объема ресурсов, добавлять новый созданный процесс в группу управления, которая не ограничивается посредством порогового объема ресурсов.
[00117] Модуль 330 выгрузки ресурсов выполнен с возможностью осуществлять операцию выгрузки для ресурсов, занимаемых посредством бездействующего процесса в группе управления, в которую добавляется новый созданный процесс посредством модуля добавления процессов, так что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, меньше порогового объема ресурсов.
[00118] В заключение, через обнаружение того, достигает или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, критического объема ресурсов, в то время как новый созданный процесс должен добавляться в группе управления, добавление нового созданного процесса в группу управления, которая не ограничивается посредством порогового объема ресурсов, при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, достигает критического объема ресурсов, и выполнение операции выгрузки для ресурсов, занимаемых посредством бездействующих процессов в группе управления, так что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, меньше порогового объема ресурсов, новый созданный процесс может добавляться в группу управления, которая не ограничивается посредством порогового объема ресурсов, и затем объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, сжимается, устройство для оптимизации памяти, предоставленное посредством настоящего раскрытия сущности, разрешает такую проблему, что на скорость работы терминала оказывается влияние вследствие относительно длительной временной задержки для операции выгрузки, выполняемой посредством терминала при добавлении нового созданного процесса в группу управления, и достигает эффекта уменьшения временной задержки работы при сжатии памяти.
[00119] Фиг. 4 является блок-схемой устройства для оптимизации памяти, согласно примерному варианту осуществления. Устройство для оптимизации памяти применяется в терминале. Как показано на фиг. 4, устройство для оптимизации памяти включает в себя: модуль 310 обнаружения ресурсов, модуль 320 добавления процессов и модуль 330 выгрузки ресурсов.
[00120] Модуль 310 обнаружения ресурсов выполнен с возможностью, когда новый созданный процесс должен добавляться в группу управления, обнаруживать то, достигает или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, критического объема ресурсов, причем критический объем ресурсов представляет собой объем ресурсов, когда объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, меньше порогового объема ресурсов, соответствующего группе управления, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления после того, как новый созданный процесс добавляется в группу управления, превышает пороговый объем ресурсов.
[00121] Модуль 320 добавления процессов выполнен с возможностью, когда модуль 310 обнаружения ресурсов обнаруживает то, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, достигает критического объема ресурсов, добавлять новый созданный процесс в группу управления, которая не ограничивается посредством порогового объема ресурсов.
[00122] Модуль 330 выгрузки ресурсов выполнен с возможностью осуществлять операцию выгрузки для ресурсов, занимаемых посредством бездействующего процесса в группе управления, в которую добавляется новый созданный процесс посредством модуля 320 добавления процессов, так что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, меньше порогового объема ресурсов.
[00123] При необходимости, когда группа управления представляет собой группу управления системой, ограниченную посредством порогового объема ресурсов, модуль 320 добавления процессов включает в себя: субмодуль 321 сохранения пороговых объемов, субмодуль 322 отмены ограничений и субмодуль 323 добавления процессов.
[00124] Субмодуль 321 сохранения пороговых объемов выполнен с возможностью сохранять пороговый объем ресурсов группы управления системой.
[00125] Субмодуль 322 отмены ограничений выполнен с возможностью отменять ограничение порогового объема ресурсов для объема совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой.
[00126] Субмодуль 323 добавления процессов выполнен с возможностью добавлять новый созданный процесс в группу управления системой.
[00127] При необходимости, если группа управления представляет собой группу, отличную от группы управления системой, которая не ограничивается посредством порогового объема ресурсов, в таком случае устройство дополнительно включает в себя: модуль 340 считывания пороговых объемов.
[00128] Модуль 340 считывания пороговых объемов выполнен с возможностью считывать пороговый объем ресурсов группы управления системой и определять пороговый объем ресурсов в качестве порогового объема ресурсов, соответствующего группе, отличной от группы управления системой.
[00129] При необходимости, модуль 330 выгрузки ресурсов включает в себя: первый субмодуль 331 задания, субмодуль 332 обнаружения ресурсов, первый субмодуль 333 обработки и второй субмодуль 334 обработки.
[00130] Первый субмодуль 331 задания выполнен с возможностью задавать начальный пороговый объем ресурсов для группы управления, причем начальный пороговый объем ресурсов превышает пороговый объем ресурсов.
[00131] Субмодуль 332 обнаружения ресурсов выполнен с возможностью обнаруживать то, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов, заданного посредством первого субмодуля 331 задания.
[00132] Первый субмодуль 333 обработки выполнен с возможностью, когда субмодуль 332 обнаружения ресурсов обнаруживает то, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, меньше начального порогового объема ресурсов, снижать начальный пороговый объем ресурсов и непрерывно выполнять этап обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов, до тех пор, пока начальный пороговый объем ресурсов не будет равен пороговому объему ресурсов, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, не будет меньше порогового объема ресурсов.
[00133] Второй субмодуль 334 обработки выполнен с возможностью, когда субмодуль 332 обнаружения ресурсов обнаруживает то, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, превышает начальный пороговый объем ресурсов, выполнять операцию выгрузки для ресурсов, занимаемых посредством бездействующих процессов в группе управления, и непрерывно выполнять этап обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов.
[00134] При необходимости, первый субмодуль 333 обработки включает в себя: субмодуль 3331 снижения пороговых объемов, субмодуль 3332 обнаружения разностей и второй субмодуль 3333 задания.
[00135] Субмодуль 3331 снижения пороговых объемов выполнен с возможностью снижать начальный пороговый объем ресурсов.
[00136] Субмодуль 3332 обнаружения разностей выполнен с возможностью обнаруживать то, меньше или нет разность между начальным пороговым объемом ресурсов после снижения посредством субмодуля 3331 снижения пороговых объемов и пороговым объемом ресурсов предварительно определенного числового значения.
[00137] Второй субмодуль 3333 задания выполнен с возможностью, когда субмодуль 3332 обнаружения разностей обнаруживает то, что разность меньше предварительно определенного числового значения, задавать начальный пороговый объем ресурсов после снижения в качестве порогового объема ресурсов и непрерывно выполнять этап обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов, до тех пор, пока объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, не будет меньше порогового объема ресурсов.
[00138] При необходимости, первый субмодуль 333 обработки дополнительно включает в себя: субмодуль 3334 приостановки модификации и субмодуль 3335 периодического повторения обнаружения.
[00139] Субмодуль 3334 приостановки модификации выполнен с возможностью, когда возникает ошибка при снижении начального порогового объема ресурсов, прекращать модификацию начального порогового объема ресурсов.
[00140] Субмодуль 3335 периодического повторения обнаружения выполнен с возможностью, после предварительно определенного периода времени задавать начальный пороговый объем ресурсов в качестве начального порогового объема ресурсов перед снижением и непрерывно выполнять этап обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, начального порогового объема ресурсов.
[00141] В заключение, через обнаружение того, достигает или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, критического объема ресурсов, в то время как новый созданный процесс должен добавляться в группе управления, добавление нового созданного процесса в группу управления, которая не ограничивается посредством порогового объема ресурсов, при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления в текущий момент времени, достигает критического объема ресурсов, и выполнение операции выгрузки для ресурсов, занимаемых посредством бездействующих процессов в группе управления, так что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, меньше порогового объема ресурсов, новый созданный процесс может добавляться в группу управления, которая не ограничивается посредством порогового объема ресурсов, и затем объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления, сжимается, устройство для оптимизации памяти, предоставленное посредством настоящего раскрытия сущности, разрешает такую проблему, что на скорость работы терминала оказывается влияние вследствие относительно длительной временной задержки для операции выгрузки, выполняемой посредством терминала при добавлении нового созданного процесса в группу управления, и достигает эффекта уменьшения временной задержки работы при сжатии памяти.
[00142] Кроме того, через прекращение модификации начального порогового объема ресурсов, когда возникает ошибка при снижении начального порогового объема ресурсов, и задание начального порогового объема ресурсов равным начальному пороговому объему ресурсов перед снижением после предварительно определенного периода времени, настоящее раскрытие сущности исключает такую проблему, что на скорость работы терминала оказывается влияние вследствие операции выгрузки, многократно выполняемой в терминале, когда число бездействующих процессов в группе управления является небольшим, и может постепенно сжимать память через уменьшение частоты для выполнения операции выгрузки, чтобы повышать эффективность сжатия памяти.
[00143] Относительно устройств в вышеописанных вариантах осуществления, конкретные способы для выполнения операций для отдельных модулей подробно описаны в вариантах осуществления относительно способов, так что дополнительная детализация не представляется в данном документе.
[00144] Фиг. 5 является блок-схемой устройства 500 для оптимизации памяти, согласно примерному варианту осуществления. Например, устройство 500 может представлять собой мобильный телефон, компьютер, цифровой широковещательный терминал, устройство для обмена сообщениями, игровую приставку, планшетный компьютер, медицинское устройство, тренажерное оборудование, персональное цифровое устройство и т.п.
[00145] Ссылаясь на фиг. 5, устройство 500 может включать в себя один или более из следующих компонентов: компонент 502 обработки, память 504, компонент 506 питания, мультимедийный компонент 508, аудиокомпонент 510, интерфейс 512 ввода-вывода, сенсорный компонент 514 и компонент 516 связи.
[00146] Компонент 502 обработки типично полностью управляет работой устройства 500, к примеру, операциями, ассоциированными с отображением, телефонными вызовами, передачей данных, операциями камеры и операциями записи. Компонент 502 обработки может включать в себя один или более процессоров 520 для того, чтобы выполнять инструкции, чтобы выполнять все или часть этапов в вышеописанных способах. Кроме того, компонент 502 обработки может включать в себя один или более модулей, которые упрощают взаимодействие между компонентом 502 обработки и другими компонентами. Например, компонент 502 обработки может включать в себя мультимедийный модуль для того, чтобы упрощать взаимодействие между мультимедийным компонентом 508 и компонентом 502 обработки.
[00147] Память 504 выполнена с возможностью сохранять различные типы данных для того, чтобы поддерживать работу устройства 500. Примеры таких данных включают в себя инструкции для любых приложений или способов, работающих на устройстве 500, контактные данные, данные телефонной книги, сообщения, изображения, видео и т.д. Память 504 может реализовываться с использованием любого типа энергозависимых или энергонезависимых запоминающих устройств либо комбинации вышеозначенного, например, как статическое оперативное запоминающее устройство (SRAM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), стираемое программируемое постоянное запоминающее устройство (EPROM), программируемое постоянное запоминающее устройство (PROM), постоянное запоминающее устройство (ROM), магнитное запоминающее устройство, флэш-память, магнитный или оптический диск.
[00148] Компонент 506 питания предоставляет питание в различные компоненты устройства 500. Компонент 506 питания может включать в себя систему управления питанием, один или более источников питания и любые другие компоненты, ассоциированные с формированием, управлением и распределением питания устройства 500.
[00149] Мультимедийный компонент 508 включает в себя экран, предоставляющий интерфейс вывода между устройством 500 и пользователем. В некоторых вариантах осуществления, экран может включать в себя жидкокристаллический дисплей (ЖК-дисплей) и сенсорную панель (TP). Если экран включает в себя сенсорную панель, экран может быть реализован в качестве сенсорного экрана для того, чтобы принимать входные сигналы от пользователя. Сенсорная панель включает в себя один или более датчиков касания для того, чтобы считывать касания, проведения по экрану и жесты на сенсорной панели. Датчики касания могут не только считывать границу действия касания или проведения по экрану, но также и считывать период времени и давление, ассоциированное с действием касания или проведения по экрану. В некоторых вариантах осуществления, мультимедийный компонент 508 включает в себя фронтальную камеру и/или тыловую камеру. Фронтальная камера и/или тыловая камера может принимать внешние мультимедийные данные в то время, когда устройство 500 находится в рабочем режиме, к примеру, в режиме фотосъемки или в видеорежиме. Каждая из фронтальной камеры и тыловой камеры может представлять собой систему с фиксированной оптической линзой либо иметь характеристики фокусировки и оптического масштабирования.
[00150] Аудиокомпонент 510 выполнен с возможностью выводить и/или вводить аудиосигналы. Например, аудиокомпонент 510 включает в себя микрофон (MIC), выполненный с возможностью принимать внешний аудиосигнал, когда устройство 500 находится в рабочем режиме, к примеру, в режиме вызова, в режиме записи и в режиме распознавания речи. Принимаемый аудиосигнал может быть дополнительно сохранен в памяти 504 или передан через компонент 516 связи. В некоторых вариантах осуществления, аудиокомпонент 510 дополнительно включает в себя динамик для того, чтобы выводить аудиосигналы.
[00151] Интерфейс 512 ввода-вывода предоставляет интерфейс между компонентом 502 обработки и периферийными интерфейсными модулями, такими как клавиатура, колесико с кнопками, кнопки и т.п. Кнопки могут включать в себя, но не только, кнопку перехода на домашнюю страницу, кнопку громкости, кнопку запуска и кнопку блокировки.
[00152] Сенсорный компонент 514 включает в себя один или более датчиков для того, чтобы предоставлять оценки состояния различных аспектов устройства 500. Например, сенсорный компонент 514 может обнаруживать открытое/закрытое состояние устройства 500, относительное позиционирование компонентов, например дисплея и клавишной панели, устройства 500, изменение позиции устройства 500 или компонента устройства 500, присутствие или отсутствие контакта пользователя с устройством 500, ориентацию или ускорение/замедление устройства 500 и изменение температуры устройства 500. Сенсорный компонент 514 может включать в себя бесконтактный датчик, выполненный с возможностью обнаруживать присутствие находящих рядом объектов без физического контакта. Сенсорный компонент 514 также может включать в себя светочувствительный датчик, такой как CMOS- или CCD-датчик изображений, для использования в приложениях формирования изображений. В некоторых вариантах осуществления, сенсорный компонент 514 также может включать в себя датчик акселерометра, гиродатчик, магнитный датчик, датчик давления или температурный датчик.
[00153] Компонент 516 связи выполнен с возможностью упрощать связь, в проводном или в беспроводном режиме, между устройством 500 и другими устройствами. Устройство 500 может осуществлять доступ к беспроводной сети на основе стандарта связи, такого как Wi-Fi, 2G или 3G или комбинация вышеозначенного. В одном примерном варианте осуществления, компонент 516 связи принимает широковещательный сигнал или ассоциированную с широковещательной передачей информацию из внешней системы управления широковещательной передачей через широковещательный канал. В одном примерном варианте осуществления, компонент 516 связи дополнительно включает в себя модуль связи в поле в ближней зоне (NFC) для того, чтобы упрощать ближнюю связь. Например, NFC-модуль может реализовываться на основе технологии радиочастотной идентификации (RFID), технологии по стандарту Ассоциации по передаче данных в инфракрасном диапазоне (IrDA), технологии по стандарту сверхширокополосной связи (UWB), технологии Bluetooth (BT) и других технологий.
[00154] В примерных вариантах осуществления, устройство 500 может реализовываться с помощью одной или более специализированных интегральных схем (ASIC), процессоров цифровых сигналов (DSP), устройств обработки цифровых сигналов (DSPD), программируемых логических устройств (PLD), программируемых пользователем вентильных матриц (FPGA), контроллеров, микроконтроллеров, микропроцессоров или других электронных компонентов, для осуществления вышеописанных способов.
[00155] В примерных вариантах осуществления, также предусмотрен энергонезависимый машиночитаемый носитель данных, включающий в себя инструкции, к примеру, включенные в память 504, выполняемые посредством процессора 520 в устройстве 500, для осуществления вышеописанных способов. Например, энергонезависимый машиночитаемый носитель данных может представлять собой ROM, RAM, CD-ROM, магнитную ленту, гибкий диск и оптическое устройство хранения данных и т.п.
[00156] Другие варианты осуществления изобретения должны быть очевидными для специалистов в области техники из изучения раскрытия изобретения и практического применения изобретения, раскрытого в данном документе. Эта заявка имеет намерение охватывать все изменения, варианты использования или адаптации изобретения согласно его общим принципам, в том числе такие отклонения от настоящего раскрытия сущности, которые попадают в рамки известной или общепринятой практики в данной области техники. Данное подробное описание и примеры должны рассматриваться только как примерные, при этом истинный объем и сущность изобретения указываются посредством прилагаемой формулы изобретения.
[00157] Следует принимать во внимание, что настоящее изобретение не ограничено точной структурой, которая описана выше и проиллюстрирована на прилагаемых чертежах, и что различные модификации и изменения могут вноситься без отступления от его объема.
Claims (52)
1. Способ для оптимизации памяти, отличающийся тем, что способ содержит этапы, на которых:
когда новый созданный процесс должен добавляться в группу управления, обнаруживают то, достигает или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой в текущий момент времени, критического объема ресурсов, причем критический объем ресурсов представляет собой объем ресурсов, когда объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой в текущий момент времени, меньше порогового объема ресурсов, соответствующего группе управления системой, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой после того, как новый созданный процесс добавляется в группу управления системой, превышает пороговый объем ресурсов;
при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой в текущий момент времени, достигает критического объема ресурсов, добавляют новый созданный процесс в новую группу управления, которая не ограничивается посредством порогового объема ресурсов, или в группу управления системой, при этом удаляя ограничение порогового объема ресурсов; и
выполняют операцию выгрузки для ресурсов, занимаемых посредством бездействующего процесса в группе управления системой, так что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, меньше порогового объема ресурсов.
2. Способ по п. 1, отличающийся тем, что добавление нового созданного процесса в группу управления системой, при этом удаляя ограничение порогового объема ресурсов, содержит этапы, на которых:
сохраняют пороговый объем ресурсов группы управления системой;
отменяют ограничение порогового объема ресурсов для объема совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой; и
добавляют новый созданный процесс в группу управления системой.
3. Способ по п. 1, отличающийся тем, что если новый созданный процесс добавляют в новую группу управления, которая не ограничивается посредством порогового объема ресурсов, тогда способ дополнительно содержит этап, на котором:
считывают пороговый объем ресурсов группы управления системой и определяют пороговый объем ресурсов группы управления системой в качестве порогового объема ресурсов, соответствующего новой группе управления, которая представляет собой группу, отличную от группы управления системой.
4. Способ по любому из пп. 1-3, отличающийся тем, что выполнение операции выгрузки для ресурсов, занимаемых посредством бездействующего процесса в группе управления системой, так что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, меньше порогового объема ресурсов, содержит этапы, на которых:
задают начальный пороговый объем ресурсов для группы управления системой, причем начальный пороговый объем ресурсов превышает пороговый объем ресурсов;
обнаруживают то, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, начального порогового объема ресурсов;
при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, меньше начального порогового объема ресурсов, снижают начальный пороговый объем ресурсов и непрерывно выполняют этап обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, начального порогового объема ресурсов, до тех пор, пока начальный пороговый объем ресурсов не будет равен пороговому объему ресурсов, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, не будет меньше порогового объема ресурсов; и
при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, превышает начальный пороговый объем ресурсов, выполняют операцию выгрузки для ресурсов, занимаемых посредством бездействующего процесса в группе управления системой и новой группе управления, если она имеется, и непрерывно выполняют этап обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, начального порогового объема ресурсов.
5. Способ по п. 4, отличающийся тем, что снижение начального порогового объема ресурсов и непрерывное выполнение этапа обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, начального порогового объема ресурсов, до тех пор, пока начальный пороговый объем ресурсов не будет равен пороговому объему ресурсов, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, не будет меньше порогового объема ресурсов, содержит этапы, на которых:
снижают начальный пороговый объем ресурсов;
обнаруживают то, меньше или нет разность между начальным пороговым объемом ресурсов после снижения и пороговым объемом ресурсов предварительно определенного числового значения; и
при обнаружении того, что разность меньше предварительно определенного числового значения, задают начальный пороговый объем ресурсов после снижения в качестве порогового объема ресурсов и непрерывно выполняют этап обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, начального порогового объема ресурсов, до тех пор, пока объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, не будет меньше порогового объема ресурсов.
6. Способ по п. 4, отличающийся тем, что способ дополнительно содержит этапы, на которых:
если возникает ошибка при снижении начального порогового объема ресурсов, прекращают модификацию начального порогового объема ресурсов; и
после предварительно определенного периода времени задают начальный пороговый объем ресурсов в качестве начального порогового объема ресурсов перед снижением и непрерывно выполняют этап обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, начального порогового объема ресурсов.
7. Устройство для оптимизации памяти, отличающееся тем, что устройство содержит:
модуль обнаружения ресурсов, выполненный с возможностью, когда новый созданный процесс должен добавляться в группу управления, обнаруживать то, достигает или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой в текущий момент времени, критического объема ресурсов, причем критический объем ресурсов представляет собой объем ресурсов, когда объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой в текущий момент времени, меньше порогового объема ресурсов, соответствующего группе управления системой, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой после того, как новый созданный процесс добавляется в группу управления системой, превышает пороговый объем ресурсов;
модуль добавления процессов, выполненный с возможностью, если модуль обнаружения ресурсов обнаруживает то, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой в текущий момент времени, достигает критического объема ресурсов, добавлять новый созданный процесс в новую группу управления, которая не ограничивается посредством порогового объема ресурсов, или в группу управления системой, при этом удаляя ограничение порогового объема ресурсов; и
модуль выгрузки ресурсов, выполненный с возможностью осуществлять операцию выгрузки для ресурсов, занимаемых посредством бездействующего процесса в группе управления системой, в которую добавляется новый созданный процесс посредством модуля добавления процессов, так что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, меньше порогового объема ресурсов.
8. Устройство по п. 7, отличающееся тем, что когда новый созданный процесс добавляется в группу управления системой, при этом удаляя ограничение порогового объема ресурсов, модуль добавления процессов содержит:
субмодуль сохранения пороговых объемов, выполненный с возможностью сохранять пороговый объем ресурсов группы управления системой;
субмодуль отмены ограничений, выполненный с возможностью отменять ограничение порогового объема ресурсов для объема совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой; и
субмодуль добавления процессов, выполненный с возможностью добавлять новый созданный процесс в группу управления системой.
9. Устройство по п. 7, отличающееся тем, что если новый созданный процесс добавляется в новую группу управления, которая не ограничивается посредством порогового объема ресурсов, тогда устройство дополнительно содержит:
модуль считывания пороговых объемов, выполненный с возможностью считывать пороговый объем ресурсов группы управления системой и определять пороговый объем ресурсов группы управления системой в качестве порогового объема ресурсов, соответствующего новой группе управления, которая представляет собой группу, отличную от группы управления системой.
10. Устройство по любому из пп. 7-9, отличающееся тем, что модуль выгрузки ресурсов содержит:
первый субмодуль задания, выполненный с возможностью задавать начальный пороговый объем ресурсов для группы управления системой, причем начальный пороговый объем ресурсов превышает пороговый объем ресурсов;
субмодуль обнаружения ресурсов, выполненный с возможностью обнаруживать то, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, начального порогового объема ресурсов, заданного посредством первого субмодуля задания;
первый субмодуль обработки, выполненный с возможностью, когда субмодуль обнаружения ресурсов обнаруживает то, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, меньше начального порогового объема ресурсов, снижать начальный пороговый объем ресурсов и непрерывно выполнять операцию обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, начального порогового объема ресурсов, до тех пор, пока начальный пороговый объем ресурсов не будет равен пороговому объему ресурсов, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, не будет меньше порогового объема ресурсов; и
второй субмодуль обработки, выполненный с возможностью, когда субмодуль обнаружения ресурсов обнаруживает то, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, превышает начальный пороговый объем ресурсов, выполнять операцию выгрузки для ресурсов, занимаемых посредством бездействующего процесса в группе управления системой и новой группе управления, если она имеется, и непрерывно выполнять операцию обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, начального порогового объема ресурсов.
11. Устройство по п. 10, отличающееся тем, что первый субмодуль обработки содержит:
субмодуль снижения пороговых объемов, выполненный с возможностью снижать начальный пороговый объем ресурсов;
субмодуль обнаружения разностей, выполненный с возможностью обнаруживать то, меньше или нет разность между начальным пороговым объемом ресурсов, сниженным посредством субмодуля снижения пороговых объемов, и пороговым объемом ресурсов, предварительно определенного числового значения; и
второй субмодуль задания, выполненный с возможностью, когда субмодуль обнаружения разностей обнаруживает то, что разность меньше предварительно определенного числового значения, задавать начальный пороговый объем ресурсов после снижения в качестве порогового объема ресурсов и непрерывно выполнять операцию обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, начального порогового объема ресурсов, до тех пор, пока объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, не будет меньше порогового объема ресурсов.
12. Устройство по п. 10, отличающееся тем, что первый субмодуль обработки дополнительно содержит:
субмодуль приостановки модификации, выполненный с возможностью, когда возникает ошибка при снижении начального порогового объема ресурсов, прекращать модификацию начального порогового объема ресурсов; и
субмодуль периодического повторения обнаружения,
выполненный с возможностью, после предварительно определенного периода времени, задавать начальный пороговый объем ресурсов в качестве начального порогового объема ресурсов перед снижением и непрерывно выполнять операцию обнаружения того, меньше или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, начального порогового объема ресурсов.
13. Устройство для оптимизации памяти, отличающееся тем, что устройство содержит:
процессор; и
память для сохранения инструкций, выполняемых посредством процессора;
при этом процессор выполнен с возможностью:
когда новый созданный процесс должен добавляться в группу управления, обнаруживать то, достигает или нет объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой в текущий момент времени, критического объема ресурсов, причем критический объем ресурсов представляет собой объем ресурсов, когда объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой в текущий момент времени, меньше порогового объема ресурсов, соответствующего группе управления системой, и объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой после того, как новый созданный процесс добавляется в группу управления системой, превышает пороговый объем ресурсов;
при обнаружении того, что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой в текущий момент времени, достигает критического объема ресурсов, добавлять новый созданный процесс в новую группу управления, которая не ограничивается посредством порогового объема ресурсов, или в группу управления системой, при этом удаляя ограничение порогового объема ресурсов; и
выполнять операцию выгрузки для ресурсов, занимаемых посредством бездействующего процесса в группе управления системой, так что объем совокупных ресурсов, занимаемых посредством всех процессов в группе управления системой и новой группе управления, если она имеется, меньше порогового объема ресурсов.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410602435.3A CN104407924B (zh) | 2014-10-31 | 2014-10-31 | 内存优化方法及装置 |
CN201410602435.3 | 2014-10-31 | ||
PCT/CN2015/074941 WO2016065820A1 (zh) | 2014-10-31 | 2015-03-24 | 内存优化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2015121678A RU2015121678A (ru) | 2016-12-27 |
RU2618380C2 true RU2618380C2 (ru) | 2017-05-03 |
Family
ID=52645557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015121678A RU2618380C2 (ru) | 2014-10-31 | 2015-03-24 | Способ и устройство для оптимизации памяти |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP3015983B1 (ru) |
JP (1) | JP6114888B2 (ru) |
KR (1) | KR101747571B1 (ru) |
CN (1) | CN104407924B (ru) |
BR (1) | BR112015015217A2 (ru) |
MX (1) | MX349598B (ru) |
RU (1) | RU2618380C2 (ru) |
WO (1) | WO2016065820A1 (ru) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678868B2 (en) | 2014-10-31 | 2017-06-13 | Xiaomi Inc. | Method and device for optimizing memory |
CN104407924B (zh) * | 2014-10-31 | 2017-11-21 | 小米科技有限责任公司 | 内存优化方法及装置 |
CN105094967B (zh) * | 2015-06-26 | 2019-04-16 | 小米科技有限责任公司 | 进程运行方法及装置 |
CN107783836B (zh) * | 2016-08-31 | 2020-10-09 | 中国电信股份有限公司 | 基于 Linux 容器控制Web 应用资源的方法和装置 |
CN107220077B (zh) | 2016-10-20 | 2019-03-19 | 华为技术有限公司 | 应用启动的管控方法和管控设备 |
CN109710396B (zh) | 2017-10-26 | 2023-08-22 | 华为技术有限公司 | 一种信息采集及内存释放的方法及装置 |
DE112018006950B4 (de) | 2018-02-28 | 2022-07-14 | Mitsubishi Electric Corporation | Ressourcensteuerungseinrichtung, Ressourcensteuerungsverfahren und Ressourcensteuerungsprogramm |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2166791C1 (ru) * | 2000-07-20 | 2001-05-10 | Закрытое акционерное общество "МЦСТ" | Способ и система для асинхронной загрузки массивов данных |
US20120297151A1 (en) * | 2011-05-16 | 2012-11-22 | Kaminaga Hiroki | Memory management apparatus, memory management method and control program |
US20130188483A1 (en) * | 2012-01-20 | 2013-07-25 | Alcatel-Lucent Canada, Inc. | Resource Threshold Overload Protection |
US20140020085A1 (en) * | 2012-07-12 | 2014-01-16 | Microsoft Corporation | Background Application Management |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7234047B1 (en) * | 2002-04-24 | 2007-06-19 | Adaptec, Inc. | Method for managing memory space during system initialization |
US7788461B2 (en) * | 2004-04-15 | 2010-08-31 | International Business Machines Corporation | System and method for reclaiming allocated memory to reduce power in a data processing system |
US8024739B2 (en) * | 2007-01-09 | 2011-09-20 | International Business Machines Corporation | System for indicating and scheduling additional execution time based on determining whether the execution unit has yielded previously within a predetermined period of time |
US8156492B2 (en) * | 2007-09-07 | 2012-04-10 | Oracle International Corporation | System and method to improve memory usage in virtual machines running as hypervisor guests |
US9086921B2 (en) * | 2010-11-16 | 2015-07-21 | Vmware, Inc. | Dynamic database memory management according to swap rates |
WO2013161056A1 (ja) * | 2012-04-27 | 2013-10-31 | 株式会社日立製作所 | プロセス処理装置、方法及びプログラム |
CN104102324B (zh) * | 2013-04-08 | 2017-01-18 | 艾倍格有限公司 | 管理移动设备内存的方法、服务器及计算机可读介质 |
CN106096030B (zh) * | 2013-04-23 | 2019-10-15 | 北京奇虎科技有限公司 | 对浏览器运行进行优化的方法和装置 |
JP5862722B2 (ja) * | 2014-07-31 | 2016-02-16 | 富士通株式会社 | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム |
CN104407924B (zh) * | 2014-10-31 | 2017-11-21 | 小米科技有限责任公司 | 内存优化方法及装置 |
-
2014
- 2014-10-31 CN CN201410602435.3A patent/CN104407924B/zh active Active
-
2015
- 2015-03-24 BR BR112015015217A patent/BR112015015217A2/pt not_active IP Right Cessation
- 2015-03-24 WO PCT/CN2015/074941 patent/WO2016065820A1/zh active Application Filing
- 2015-03-24 RU RU2015121678A patent/RU2618380C2/ru active
- 2015-03-24 MX MX2015006489A patent/MX349598B/es active IP Right Grant
- 2015-03-24 JP JP2016555898A patent/JP6114888B2/ja active Active
- 2015-03-24 KR KR1020157013547A patent/KR101747571B1/ko active IP Right Grant
- 2015-10-29 EP EP15192161.6A patent/EP3015983B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2166791C1 (ru) * | 2000-07-20 | 2001-05-10 | Закрытое акционерное общество "МЦСТ" | Способ и система для асинхронной загрузки массивов данных |
US20120297151A1 (en) * | 2011-05-16 | 2012-11-22 | Kaminaga Hiroki | Memory management apparatus, memory management method and control program |
US20130188483A1 (en) * | 2012-01-20 | 2013-07-25 | Alcatel-Lucent Canada, Inc. | Resource Threshold Overload Protection |
US20140020085A1 (en) * | 2012-07-12 | 2014-01-16 | Microsoft Corporation | Background Application Management |
Non-Patent Citations (1)
Title |
---|
V. MALIK "Resource limiting using cgroups", опубл. 03.09.2013 на 3 страницах [найдено 13.09.2016], найдено в Интернет по адресу URL:http://blog.hintcafe.com/post/60223405371/resource-limiting-using-cgroups. * |
Also Published As
Publication number | Publication date |
---|---|
MX2015006489A (es) | 2016-06-28 |
JP6114888B2 (ja) | 2017-04-12 |
KR101747571B1 (ko) | 2017-06-14 |
EP3015983A1 (en) | 2016-05-04 |
RU2015121678A (ru) | 2016-12-27 |
MX349598B (es) | 2017-08-04 |
BR112015015217A2 (pt) | 2017-07-11 |
CN104407924B (zh) | 2017-11-21 |
WO2016065820A1 (zh) | 2016-05-06 |
JP2016538675A (ja) | 2016-12-08 |
EP3015983B1 (en) | 2021-03-31 |
CN104407924A (zh) | 2015-03-11 |
KR20160064036A (ko) | 2016-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2618380C2 (ru) | Способ и устройство для оптимизации памяти | |
RU2637474C2 (ru) | Способ и устройство для управления фоновым приложением и терминальным устройством | |
RU2633151C2 (ru) | Способ и устройство для обновления микропрограммного обеспечения | |
CN106375604B (zh) | 控制终端电量的方法和装置 | |
RU2640741C2 (ru) | Способ и устройство для переключения режима отображения | |
US10790690B2 (en) | Method and apparatus for controlling charging of terminal device | |
RU2667027C2 (ru) | Способ и устройство категоризации видео | |
US10409684B2 (en) | Method, device and storage medium for cleaning memory | |
US10610152B2 (en) | Sleep state detection method, apparatus and system | |
JP6355735B2 (ja) | 省エネルギーモードを開始するための方法及び装置 | |
RU2643517C2 (ru) | Способ и устройство для задержки широковещательной рассылки информации | |
RU2629006C2 (ru) | Способ и аппаратура для тестирования интеллектуального устройства | |
US10708512B2 (en) | Method and device for capturing image and storage medium | |
CN106371643B (zh) | 触控芯片失效处理方法及装置 | |
US10216248B2 (en) | Method and device for controlling power consumption | |
CN106055097A (zh) | 一种亮屏控制方法、装置及电子设备 | |
US9678868B2 (en) | Method and device for optimizing memory | |
RU2626089C2 (ru) | Способ и устройство для загрузки приложения темы | |
WO2017201891A1 (zh) | 控制触控屏状态的方法及装置、电子设备 | |
RU2665300C2 (ru) | Способ и устройство для обработки точечной отчетности сенсорного экрана | |
RU2643439C2 (ru) | Способ и устройство для представления задач | |
CN110968523A (zh) | 内存碎片整理的方法和装置 | |
WO2017128664A1 (zh) | 进程调用的方法及装置 | |
CN105100135A (zh) | 一种设置网络共享的方法及装置 | |
US11586469B2 (en) | Method, device and storage medium for processing overhead of memory access |