WO2013001607A1 - Information processing device, management program and management method - Google Patents

Information processing device, management program and management method Download PDF

Info

Publication number
WO2013001607A1
WO2013001607A1 PCT/JP2011/064819 JP2011064819W WO2013001607A1 WO 2013001607 A1 WO2013001607 A1 WO 2013001607A1 JP 2011064819 W JP2011064819 W JP 2011064819W WO 2013001607 A1 WO2013001607 A1 WO 2013001607A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
priority
information
memory
information processing
Prior art date
Application number
PCT/JP2011/064819
Other languages
French (fr)
Japanese (ja)
Inventor
松田 隆
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2011/064819 priority Critical patent/WO2013001607A1/en
Publication of WO2013001607A1 publication Critical patent/WO2013001607A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Definitions

  • the present invention relates to an information processing apparatus, a management program, and a management method.
  • Such an information processing apparatus stores a program execution history and a communication history on a memory, and outputs a log stored on the memory to a storage device such as an HDD (Hard Disk Drive).
  • HDD Hard Disk Drive
  • FIG. 12 is a diagram for explaining a conventional information processing apparatus.
  • the information processing apparatus 40 includes a CPU (Central Processing Unit) 41, a memory 47, and an HDD 49. Further, the CPU 41 executes an OS (Operating System) 42.
  • OS Operating System
  • the OS 42 includes a dispatch control unit 43, a system control program 45, and a logging output program 46.
  • the memory 47 stores logging information 48 that is a log of the execution history and communication history of the system control program 45.
  • the HDD 49 also stores a log file 50 that is logging information moved from the memory 47.
  • the dispatch control unit 43 has a dispatch management table 44 indicating the priority with which the CPU 41 executes the programs 45 and 46.
  • FIG. 13 is a diagram for explaining a conventional dispatch management table. In the example shown in FIG. 13, the dispatch management table 44 stores the execution priority and the load address in association with each other.
  • the dispatch management table 44 includes “execution priority 1”, “load address # 1”, “execution priority 2”, “load address # 2”, and “execution priority 5”. And “load address # 3” are stored in association with each other.
  • “load address # 1” is the load address of the system control program 45
  • “load address # 3” is the load address of the logging output program 46.
  • the system control program 45 creates a log of its own execution history and communication history, stores the created log in the memory 47 as logging information 48, and sends logging information to the logging output program 46. Request output.
  • the logging output program 46 executes the following processing.
  • the logging output program 46 secures its own memory area in the memory 47, and moves as logging information 48a to the memory area where the logging information 48 of the system control program 45 is secured, as shown in FIG. . Then, the logging output program 46 stores the logging information 48a moved to its own memory area in the HDD 49 as the log file 50 and releases the memory area secured by itself.
  • the execution priority of the system control program is higher than the execution priority of the logging output program. For this reason, as a result of the system control program preferentially executing the logging output program, the logging output program is not executed, and the logging information is accumulated in the memory, resulting in a shortage of memory resources.
  • the speed of executing the system control program is improved by improving the processing capability of the CPU, the amount of logging information output by the system control program exceeds the performance of outputting the logging information by the logging output program.
  • the memory is used to store the logging information of the system control program, and the system cannot be operated due to a lack of memory resources.
  • the information processing device investigates system failures when it stops collecting logging information for each program, including the system control program, in order to release memory resources when memory resources are about to run out. Logging information cannot be obtained.
  • a technique that preferentially collects logging information for programs with a high operation rate can be considered.
  • logging information for a program having a low operation rate is not acquired, and therefore logging information for investigating a system malfunction or the like cannot be acquired.
  • the technology disclosed in the present application aims to smoothly collect a log of a program execution history and a communication history.
  • the information processing apparatus executes each program according to priority information indicating a correspondence relationship between a plurality of programs and the execution priority of each program.
  • Such an information processing apparatus identifies the amount of memory area allocated to a log output program that outputs log information of each program from a memory to a storage device. Further, the information processing apparatus determines whether the amount of the identified memory area is larger than a threshold value. When the information processing apparatus determines that the amount of the identified area is greater than the threshold, the information processing apparatus updates the priority associated with the log output program in the priority information higher than the priority of the other programs. .
  • program execution history and communication history logs can be collected smoothly.
  • FIG. 1 is a diagram for explaining the information processing apparatus according to the first embodiment.
  • FIG. 2 is a diagram for explaining a system hierarchy table among the dispatch management tables of the system according to the first embodiment.
  • FIG. 3 is a diagram for explaining a dispatch management table for each program group.
  • FIG. 4 is a diagram for explaining an example of the memory management table.
  • FIG. 5 is a diagram for explaining processing in which the execution priority control unit according to the first embodiment updates the dispatch management table.
  • FIG. 6 is a diagram for explaining the contents of processing that is normally performed in the information processing apparatus according to the first embodiment.
  • FIG. 7 is a diagram for explaining the contents of processing executed when the information processing apparatus according to the first embodiment runs out of memory resources.
  • FIG. 1 is a diagram for explaining the information processing apparatus according to the first embodiment.
  • FIG. 2 is a diagram for explaining a system hierarchy table among the dispatch management tables of the system according to the first embodiment.
  • FIG. 3 is a diagram for explaining a dispatch management table for each program group.
  • FIG. 8 is a diagram for explaining the contents of processing executed when a margin is generated in the memory resource in the information processing apparatus according to the first embodiment.
  • FIG. 9 is a flowchart for explaining an example of a flow of processing executed by the information processing apparatus according to the first embodiment according to the dispatch management table.
  • FIG. 10 is a flowchart for explaining an example of a process flow for updating the dispatch management table according to the first embodiment.
  • FIG. 11 is a diagram illustrating an example of a computer that executes a management program.
  • FIG. 12 is a diagram for explaining a conventional information processing apparatus.
  • FIG. 13 is a diagram for explaining a conventional dispatch management table.
  • FIG. 1 is a diagram for explaining the information processing apparatus according to the first embodiment.
  • the information processing apparatus 1 includes a CPU (Central Processing Unit) 10, a memory 20, and an HDD (Hard Disk Drive) 30.
  • CPU Central Processing Unit
  • HDD Hard Disk Drive
  • the CPU 10 executes an OS (Operating System) 11.
  • the OS 11 includes a program group 12, a dispatch control unit 15, a memory management control unit 17, and an execution priority control unit 19.
  • the program group 12 includes a system control program 13 and a logging output program 14.
  • the dispatch control unit 15 has a dispatch management table 16.
  • the memory management control unit 17 has a memory management table 18.
  • the program group 12 has various programs other than the system control program 13 and the logging output program 14 for exhibiting the function as the OS 11.
  • the memory 20 also stores logging information 21 that is an execution history and communication history of the system control program 13.
  • the HDD 30 stores a log file 31 that is logging information output by the logging output program 14.
  • the program group 12 is a group of programs that are executed in order to realize processing such as a communication function and a calculation function.
  • the program group 12 is a group of a plurality of programs that are executed by the CPU 10 in order for the information processing apparatus 1 to provide services such as network communication.
  • the system control program 13 is a program executed by the CPU 10.
  • the system control program 13 is a program that causes the CPU 10 to execute various arithmetic processes that are executed to provide a service provided by the information processing apparatus 1. Further, the system control program 13 stores its own execution history and communication history in the memory 20 as logging information 21.
  • the system control program 13 requests the memory management control unit 17 to allocate a memory area to itself.
  • the system control program 13 stores its own execution history and communication history in the memory 20 as logging information 21.
  • the system control program 13 requests the logging output program 14 to output the logging information 21.
  • the logging output program 14 is a program that outputs logging information 21 stored in the memory 20 to the HDD 30. Specifically, when the output of logging information 21 is requested from the system control program 13, the logging output program 14 executes the following processing. That is, the logging output program 14 requests the memory management control unit 17 to allocate a memory area to itself.
  • the logging output program 14 copies the logging information 21 stored in the memory area of the system control program 13 to its own memory area. Further, when the logging output program 14 duplicates the logging information 21 in its own memory area, the logging output program 14 deletes the logging information 21 stored in the memory area of the system control program 13.
  • the logging output program 14 collects the logging information 21 of the system control program 13. Then, the logging output program 14 requests the memory management control unit 17 to release the area in which the logging information 21 is stored, among the memory areas allocated to the system control program 13. Then, the logging output program 14 outputs the logging information 21 copied to its own memory area to the log file 31 of the HDD 30. Further, the logging output program 14 requests the memory management control unit 17 to release the memory area allocated to itself.
  • the dispatch control unit 15 controls the priority executed by the CPU 10 for each of the programs 13 and 14 included in the program group 12. Specifically, the dispatch control unit 15 includes a dispatch management table 16 that stores a priority level at which the CPU 10 executes the programs 13 and 14 and a load address of each program in association with each other. Then, the dispatch control unit 15 executes the dispatch process according to the priority associated with the load address of each program.
  • FIG. 2 is a diagram for explaining a system hierarchy table among the dispatch management tables of the system according to the first embodiment.
  • FIG. 2 is a diagram showing an example of a system layer dispatch management table 16a in which load addresses of a plurality of programs A to Z executed by the CPU 10 are associated with priorities of the programs A to Z.
  • the programs A to Z are different from the programs 13 and 14 included in the program group 12, and are programs executed by the CPU 10 for realizing a service provided by the information processing apparatus 1, for example. That is, the dispatch management table 16a is a table indicating the priorities for all programs executed by the information processing apparatus 1.
  • “ ⁇ ” is stored as the program group chain flag in the dispatch management table 16a in the system hierarchy.
  • the program group chain flag “ ⁇ ” is associated with the dispatch management table 16b in which priority and load address are associated with each other in program group units.
  • FIG. 3 is a diagram for explaining a dispatch management table for each program group.
  • the dispatch management table 16 b stores the execution priority 3 and the load address of the system control program 13 in association with each other.
  • the dispatch management table 16b also stores the execution priority N and the load address of the logging output program 14 in association with each other. That is, the dispatch management table 16b is a table for setting priorities of the programs 13 and 14 included in the program group 12.
  • the CPU 10 executes the program according to the priority indicated by the dispatch management table 16a. For example, if the program A and the program X are waiting programs, the CPU 10 executes the program A first and then executes the program X.
  • the CPU 10 reads the dispatch management table 16b. Then, the CPU 10 executes the program according to the priority indicated by the dispatch management table 16b.
  • the memory management control unit 17 manages the area of the memory 20. Specifically, the memory management control unit 17, when requested to allocate a memory area from each of the programs 13 and 14 executed by the CPU 10, is a memory that is not allocated among the storage areas of the memory 20. Earn part of the area. Then, the memory management control unit 17 allocates the acquired memory area to the program that requested the allocation of the memory area. Further, when the memory management control unit 17 is requested to release the memory area, the memory management control part 17 releases the requested memory area.
  • the memory management control unit 17 checks the amount of memory area allocated to the logging output program 14 every time the logging output program 14 included in the program group requests acquisition of the memory area and release of the memory area.
  • the memory management control unit 17 sets the execution priority of the logging output program 14 to the priority of other programs (for example, the system control program 13) when the amount of the identified memory area is larger than a predetermined threshold. Is also notified to the execution priority control unit 19 so as to be a high value.
  • the memory management control unit 17 has a memory management table 18.
  • the memory management table 18 stores the amount of memory area allocated to the logging output program 14 and the execution priority in association with each other.
  • FIG. 4 is a diagram for explaining an example of the memory management table.
  • the memory management table 18 stores the threshold [xx%] and the execution priority 1 in association with each other, and stores the threshold [yy%] and the execution priority 2 in association with each other. Further, the memory management table 18 stores information indicating the normal state and the execution priority 3 in association with each other.
  • the memory management table 18 stores an execution priority N as information indicating the current execution priority.
  • the threshold value [xx%] is higher than the threshold value [yy%].
  • the threshold [xx%] is [80%]
  • the threshold [yy%] is [70%].
  • the threshold value may be set by the user as an arbitrary value.
  • the memory management control unit 17 allocates a memory area to the logging output program 14 or releases a memory area allocated to the logging output program 14. Then, the memory management control unit 17 calculates the ratio of the memory area allocated to the logging output program 14 to the entire memory 20 after the memory area is allocated or the memory area is released.
  • the memory management control unit 17 determines whether or not the calculated ratio is greater than the threshold value [xx%]. If it is determined that the calculated ratio is higher, the execution is stored in association with the threshold value [xx%]. Priority 1 is acquired. On the other hand, if the memory management control unit 17 determines that the calculated ratio is less than the threshold value [xx%], the memory management control unit 17 determines whether the calculated ratio is greater than the threshold value [yy%].
  • the memory management control unit 17 determines that the calculated ratio is greater than the threshold value [yy%]
  • the memory management control unit 17 acquires the execution priority 2 stored in association with the threshold value [yy%]. Further, when the memory management control unit 17 determines that the calculated ratio is less than the threshold value [yy%], the memory management control unit 17 determines that the state of the memory area allocated to the logging output program 14 is the normal state. In such a case, the memory management control unit 17 acquires the execution priority 3 associated with the information indicating the normal state.
  • the memory management control unit 17 determines whether or not the acquired execution priority and the execution priority stored as the current execution priority are the same. When the memory management control unit 17 determines that the acquired execution priority is different from the execution priority stored as the current execution priority, the memory management control unit 17 executes the following processing. That is, the memory management control unit 17 updates the execution priority stored as the current execution priority to the acquired priority. In addition, the memory control unit 17 notifies the execution priority control unit 19 of the acquired execution priority.
  • the memory management control unit 17 determines the execution priority stored as the current execution priority. The process is terminated without notifying the change and execution priority control unit 19.
  • the execution priority control unit 19 updates the execution priority of the logging output program 14 stored in the dispatch management table 16. Specifically, when the execution priority control unit 19 receives the execution priority from the memory management control unit 17, the execution priority control unit 19 executes the following processing. That is, the execution priority control unit 19 executes the execution priority notified from the memory management control unit 17 of the execution priority stored in association with the logging output program 14 in the dispatch management table 16 stored in the dispatch control unit 15. Update every time.
  • FIG. 5 is a diagram for explaining processing in which the execution priority control unit according to the first embodiment updates the dispatch management table. As illustrated in FIG. 5, the execution priority control unit sets the execution priority of the logging output program load address stored in the dispatch management table 16 b as the execution priority 1.
  • FIG. 6 is a diagram for explaining the contents of processing that is normally performed in the information processing apparatus according to the first embodiment.
  • FIG. 7 is a diagram for explaining the contents of the process executed when the memory resource is insufficient in the information processing apparatus according to the first embodiment.
  • FIG. 8 is a diagram for explaining the contents of processing executed when a margin is generated in the memory resource in the information processing apparatus according to the first embodiment.
  • the system control program 13 requests the memory management control unit 17 to allocate a memory area of the memory 20.
  • the memory management control unit 17 secures a memory area of the system control program 13 in the memory 20 as shown in FIG.
  • the system control program 13 stores the logging information 21 in its own memory area secured in the memory 20. Then, the system control program 13 requests the logging output program 14 to output the logging information 21 as shown in FIG. In such a case, the logging output program 14 requests the memory management control unit 17 to allocate a memory area as shown in FIG.
  • the memory management control unit 17 secures the memory area of the memory management control unit 17 and determines the ratio of the memory area allocated to the logging output program 14. In the example illustrated in FIG. 6, the memory management control unit 17 determines that the execution priority of the logging output program 14 has not been changed.
  • the logging output program 14 creates a copy 22 of the logging information in the area allocated with confidence, and deletes the logging information 21.
  • the logging output program 14 moves the logging information 21 to the memory area allocated to the logging output program 14 every time the system control program 13 requests the logging information 21 to be output.
  • the logging output program 14 executes the following processing when the amount of logging information 21 stored in its memory area exceeds a predetermined amount. That is, the logging output program 14 stores a copy 22 of the logging information in the log file 31 stored in the HDD 30 as shown in FIG.
  • FIG. 7 is a diagram for explaining processing for increasing the execution priority of the logging output program in the information processing apparatus according to the first embodiment.
  • the ratio of the memory area allocated to the logging output program 14 exceeds the threshold [xx%]. .
  • the load address of the system control program 13 is associated with the execution priority 3.
  • the system control program 13 requests the memory management control unit 17 to allocate a memory area.
  • the memory management control unit 17 allocates a memory area from the memory 20 to the system control program 13.
  • the system control program 13 When the memory area is allocated, the system control program 13 stores the logging information 21 in the allocated area, and also stores the logging information 21 in the logging output program 14 as shown in FIG. Request output. In such a case, as shown in FIG. 7K, the logging output program 14 requests the memory management controller 17 to allocate memory.
  • the memory management control unit 17 allocates the area of the memory 20 to the logging output program 14 as shown in (L) of FIG. Then, as shown in FIG. 7M, the logging output program 14 creates a copy 22 of the logging information in the area allocated by the user, and deletes the logging information 21.
  • the memory management control unit 17 refers to the memory management table 18 and determines whether or not the ratio of the memory area allocated to the logging output program 14 exceeds the threshold [xx%]. In the example illustrated in FIG. 7, the memory management control unit 17 determines that the ratio of the memory area allocated to the logging output program 14 exceeds the threshold [xx%]. That is, as indicated by (N) in FIG. 7, the memory management control unit 17 determines to change the execution priority of the logging output program 14.
  • the memory management control unit 17 notifies the execution priority control unit 19 of the execution priority 1 stored in the memory management table 18 in association with the threshold [xx%], as indicated by (O) in FIG. To do.
  • the execution priority control unit 19 stores the load address of the logging output program 14 in the dispatch management table 16 in the table of execution priority 1 and the load address of the logging output program 14 in the dispatch management table 16 as shown in FIG. To chain. That is, the execution priority control unit 19 updates the execution priority associated with the load address of the logging output program 14 to the execution priority 1 notified from the memory management control unit 17.
  • the execution priority of the logging output program 14 is higher than the execution priority of the system control program 13. For this reason, the logging output program 14 can preferentially execute the process of outputting the copy 22 of the logging information to the log file 31 as indicated by (Q) in FIG.
  • the information processing apparatus 1 identifies the proportion of the memory area allocated to the logging output program 14, and when the identified proportion is higher than a predetermined threshold, the execution priority of the logging output program 14 is high. Change to priority. For this reason, the information processing apparatus 1 can prevent the memory resource from being insufficient as a result of executing the logging output program 14 with priority. Further, the information processing apparatus 1 does not stop the operation of the logging output program 14. For this reason, the information processing apparatus 1 can smoothly collect the logging information even when a problem occurs as a result of outputting the copy 22 of the logging information to the log file 31.
  • FIG. 8 is a diagram for explaining processing in which the information processing apparatus according to the first embodiment lowers the execution priority of the logging output program.
  • the execution priority of the logging output program 14 is the execution priority 1.
  • the ratio of the memory area allocated to the logging output program 14 is assumed to be lower than the threshold value [yy%].
  • the logging output program 14 stores a copy 22 of the logging information stored in its memory area (that is, logging information 21) in the log of the HDD 30. Output to file 31. Further, when the logging output program 14 outputs a copy 22 of the logging information, as shown in (S) of FIG. 8, the logging output program 14 requests the memory management control unit 17 to release the memory area allocated to itself. .
  • the memory management control unit 17 releases the memory area allocated to the logging output program 14 as shown in (T) of FIG.
  • the memory management control unit 17 compares the ratio of the memory area allocated to the logging output program 14 with the respective threshold values stored in the memory management table 18 after the memory area is released. In the example illustrated in FIG. 8, the memory management control unit 17 determines that the ratio of the memory area allocated to the logging output program 14 is lower than the threshold “yy%”.
  • the memory management control unit 17 determines to change the priority as shown in FIG. Then, as shown in (V) in FIG. 8, the memory management control unit 17 notifies the execution priority control unit 19 of the execution priority 5 associated with the normal state. In such a case, the execution priority control unit 19 links the load address of the logging output program 14 to a table of execution priority 5 as shown in (W) of FIG. In other words, the execution priority control unit 19 shifts the execution priority of the logging output program 14 to a normal state lower than that of the system control program 13 by lowering the execution priority of the logging output program 14.
  • the information processing apparatus 1 sets the execution priority of the logging output program 14 over the other programs. Update to a lower execution priority. For this reason, the information processing apparatus 1 can lower the execution priority of the logging output program 14 when the logging information 21 is output and there is room in the memory area of the memory 20. As a result, the information processing apparatus 1 can prioritize the execution of programs other than the logging output program 14 such as the system control program 13 when there is room in the memory area.
  • FIG. 9 is a flowchart for explaining an example of a flow of processing executed by the information processing apparatus according to the first embodiment according to the dispatch management table.
  • the information processing apparatus 1 starts processing with the activation as a trigger.
  • the information processing apparatus 1 reads the dispatch management table 16a for each system (step S101).
  • the information processing apparatus 1 determines whether there is a process waiting program (step S102). If the information processing apparatus 1 determines that there is a program waiting for processing (Yes in step S102), the information processing apparatus 1 determines whether the program waiting for processing is a program included in the program group chain area (step S103). That is, the information processing apparatus 1 determines whether or not the processing waiting program is a program included in the program group 12.
  • the information processing apparatus 1 determines that the program waiting for processing is not a program included in the program group chain area (No at Step S103), the information processing apparatus 1 executes the program according to the dispatch management table 16a for each system (Step S104). ). On the other hand, when the information processing apparatus 1 determines that the program to be processed is a program included in the program group chain area (Yes at Step S103), the information processing apparatus 1 reads the dispatch management table 16b for each program group (Step S105). .
  • the information processing apparatus 1 determines again whether there is a program waiting for processing (step S106). If it is determined that there is a program waiting for processing (Yes in step S106), the information processing apparatus 1 executes the following processing. That is, the information processing apparatus 1 executes from a program having a high execution priority according to the execution priority indicated by the dispatch management table 16b in units of program groups (step S107). Then, the information processing apparatus 1 again determines whether there is a processing waiting program (step S106).
  • the information processing apparatus 1 determines that there is no processing waiting program (No in step S106), it reads the system-by-system dispatch management table 16a (step S101) and determines whether there is a processing waiting program. (Step S102). If the information processing apparatus 1 determines that there is no processing waiting program in the state in which the dispatch management table 16a is read (No in step S102), the information processing apparatus 1 ends the processing.
  • FIG. 10 is a flowchart for explaining an example of a process flow for updating the dispatch management table according to the first embodiment.
  • the memory management control unit 17 receives a memory area allocation request or a memory area release request (step S201). Next, the memory management control unit 17 determines whether or not the memory area release request or allocation request is a request from the logging output program 14 (step S202). When the memory management control unit 17 determines that the memory area release request or the allocation request is a request from the logging output program 14 (Yes in Step S202), the memory management control unit 17 refers to the memory management table 18 (Step S203). .
  • the memory management control unit 17 identifies the amount of the memory area allocated to the logging output program 14 (Step S204), and confirms the threshold corresponding to the identified amount from the memory management table 18 (Step S205). Next, the memory management control unit 17 determines whether or not the corresponding threshold exists in the memory management table 18 (step S206). If it is determined that it exists (Yes in step S206), The corresponding execution priority is acquired (step S207).
  • the memory management control unit 17 acquires the execution priority in the normal state (Step S208). Thereafter, the memory management control unit 17 determines whether or not the acquired execution priority is different from the current execution priority (step S209). If it is determined that the execution priority is different (Yes in step S209), the following processing is performed. Execute. That is, the memory management control unit 17 notifies the execution priority control unit 19 of the acquired execution priority (step S210). Further, the memory management control unit 17 stores the acquired execution priority as the current execution priority in the memory management table 18 (step S211), and ends the process.
  • the memory management control unit 17 determines that the acquired execution priority is the same as the current execution priority (No at step S209), the memory management control unit 17 ends the process. If the memory management control unit 17 determines that the memory area release request or allocation request is not a request from the logging output program 14 (No in step S202), the memory management control unit 17 performs the process without updating the dispatch management table. finish.
  • the information processing apparatus 1 executes each program according to the dispatch management table 16 that stores the load address of each program and the execution priority for executing each program in association with each other. Further, the information processing apparatus 1 identifies the amount of memory area allocated to the logging output program 14. When the information processing apparatus 1 determines that the amount of the identified memory area is larger than the predetermined threshold, the information processing apparatus 1 sets the execution priority stored in the dispatch management table 16 in association with the logging output program 14. Improve.
  • the information processing apparatus 1 can output the log information 31 to the log file 31 without losing the logging information 21 while preventing a shortage of memory resources. That is, the information processing apparatus 1 operates the logging output program 14 with priority over other programs such as the system control program 13 when memory is likely to be insufficient. For this reason, the information processing apparatus 1 can avoid a delay in memory resources when the logging information 21 is accumulated in the memory 20. Further, the information processing apparatus 1 can smoothly output logging information of a program having a low operation rate.
  • the information processing apparatus 1 does not modify each program such as the system control program 13 and the logging output program 14 only by changing the part related to dispatch control, memory management control, and execution priority control in the OS 11. Performance tuning can be performed automatically.
  • the information processing apparatus 1 can change the execution priority of the logging output program 14 by changing only the parts related to the dispatch control, memory management control, and execution priority control of the OS 11 and without modifying other programs. Can be updated appropriately. As a result, it is possible to easily provide the OS 11 that keeps collecting all the logging information 21 while preventing a memory shortage.
  • the information processing apparatus 1 includes dispatch management tables 16a and 16b having a hierarchical structure related to priority.
  • the information processing apparatus 1 sets the execution priority of the log output program to another in the same dispatch management table. Update to a value higher than the execution priority of the program. Therefore, the information processing apparatus 1 can preferentially execute the log output program without affecting the execution of each program whose priority is managed by the dispatch management table in the upper hierarchy.
  • the information processing apparatus 1 changes the priority of the logging output program 14 in the dispatch management table for each program group having the processing waiting program. For this reason, the information processing apparatus 1 can update the execution priority without affecting the basic program of the information processing apparatus 1 or the program whose priority is not desired to be changed.
  • the information processing apparatus 1 sets the execution priority of the log output program lower than the execution priority of other programs. Update to the value, ie, the original execution priority. For this reason, the information processing apparatus 1 can dynamically set the most efficient execution priority as the entire system.
  • the information processing apparatus 1 determines the execution priority of the logging output program 14 based on whether the ratio of the memory area allocated to the first threshold and the second threshold and the logging output program 14 is large. Update. For this reason, the information processing apparatus 1 can update the execution priority of the logging output program 14 more appropriately.
  • the information processing apparatus 1 has a memory management table 18 that stores the execution priority for each range of the amount of memory area allocated to the logging output program 14. Then, the information processing apparatus 1 changes the execution priority of the logging output program 14 based on which threshold range the amount of memory area allocated to the logging output program 14 falls within. For this reason, the information processing apparatus 1 can finely change the execution priority of the logging output program 14 and set the most efficient execution priority.
  • the system-by-system dispatch management table 16a and the program group-by-program group dispatch management table 16b have been described.
  • the embodiment is not limited to this. That is, the program group unit dispatch management table 16b is the dispatch management table 16b stored in the information processing apparatus 1 for each program group.
  • the information processing apparatus 1 has three program groups, the information processing apparatus 1 has three dispatch management tables for each program group in which execution priority is set for each program group.
  • the dispatch management table 16 stores “ ⁇ ” as the flag of the program group chain area.
  • the embodiment is not limited to this, and any information can be used as a flag as long as it is information for identifying a dispatch management table in units of program groups to be referred to by the information processing apparatus 1. Can do.
  • the memory management table 18 described above stores the ratio of the memory area allocated to the logging output program 14 as a threshold value.
  • the embodiment is not limited to this, and for example, the capacity of the memory area allocated to the logging output program 14 may be used as the threshold value.
  • Each threshold value stored in the memory management table 18 may be fixed for each system.
  • Each threshold value stored in the memory management table 18 may be freely set by a system administrator.
  • the information processor 1 concerning Example 1 explained processing realized by hardware.
  • the embodiment is not limited to this, and may be realized by executing a program prepared in advance by a computer.
  • a computer that executes a program having the same function as that of the information processing apparatus 1 shown in the first embodiment will be described with reference to FIG.
  • FIG. 11 is a diagram for explaining an example of a computer that executes a management program.
  • the computer 100 illustrated in FIG. 11 includes a ROM (Read Only Memory) 110, an HDD (Hard Disk Drive) 120, a RAM (Random Access Memory) 130, a CPU (Central Processing Unit) 140, and an I / O (Input Output) 150.
  • ROM Read Only Memory
  • HDD Hard Disk Drive
  • RAM Random Access Memory
  • CPU Central Processing Unit
  • I / O Input Output
  • the RAM 130 stores a management program 131 in advance.
  • the CPU 140 reads and executes the management program 131, so that the management program 131 operates as the management process 141 in the example shown in FIG.
  • the management process 141 exhibits the same function as the information processing apparatus 1.
  • the management program described in the present embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation.
  • This program can be distributed via a network such as the Internet.
  • This program is recorded on a computer-readable recording medium such as a hard disk, flexible disk (FD), CD-ROM (Compact Disc Read Only Memory), MO (Magneto Optical Disc), DVD (Digital Versatile Disc).
  • the program can also be executed by being read from a recording medium by a computer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

An information processing device (1) identifies the amount of a memory region allocated to a logging output program (14) which outputs log information of programs from a memory (20) to an HDD (30). Also, the information processing device (1) assesses whether or not the identified amount of the memory region is larger than a threshold value. If the amount of the memory region is assessed to be larger than the threshold value, the information processing device (1) updates a dispatch management table (16) so that the priority associated with the logging output program (14) is higher than the priority of other programs.

Description

情報処理装置、管理プログラムおよび管理方法Information processing apparatus, management program, and management method
 本発明は、情報処理装置、管理プログラムおよび管理方法に関する。 The present invention relates to an information processing apparatus, a management program, and a management method.
 従来、プログラムの実行履歴や通信履歴のログを記録する情報処理装置の技術が知られている。このような情報処理装置は、プログラムの実行履歴や通信履歴をメモリ上に格納するとともに、メモリ上に格納したログをHDD(Hard Disk Drive)等の記憶装置に出力する。 Conventionally, a technology of an information processing apparatus that records a log of a program execution history and a communication history is known. Such an information processing apparatus stores a program execution history and a communication history on a memory, and outputs a log stored on the memory to a storage device such as an HDD (Hard Disk Drive).
 以下、このような情報処理装置の一例について、図を用いて説明する。図12は、従来の情報処理装置を説明するための図である。図12に示す例では、情報処理装置40は、CPU(Central Processing Unit)41、メモリ47、HDD49を有する。また、CPU41は、OS(Operating System)42を実行する。 Hereinafter, an example of such an information processing apparatus will be described with reference to the drawings. FIG. 12 is a diagram for explaining a conventional information processing apparatus. In the example illustrated in FIG. 12, the information processing apparatus 40 includes a CPU (Central Processing Unit) 41, a memory 47, and an HDD 49. Further, the CPU 41 executes an OS (Operating System) 42.
 OS42は、ディスパッチ制御部43、システム制御プログラム45、ロギング出力プログラム46を有する。また、図12に示す例では、メモリ47は、システム制御プログラム45の実行履歴や通信履歴のログであるロギング情報48を記憶する。また、HDD49は、メモリ47から移動させたロギング情報であるログファイル50を記憶する。 The OS 42 includes a dispatch control unit 43, a system control program 45, and a logging output program 46. In the example shown in FIG. 12, the memory 47 stores logging information 48 that is a log of the execution history and communication history of the system control program 45. The HDD 49 also stores a log file 50 that is logging information moved from the memory 47.
 ディスパッチ制御部43は、CPU41が各プログラム45、46を実行する優先度を示すディスパッチ管理テーブル44を有する。図13は、従来のディスパッチ管理テーブルを説明するための図である。図13に示す例ではディスパッチ管理テーブル44には、実行優先度とロードアドレスとが対応付けて記憶されている。 The dispatch control unit 43 has a dispatch management table 44 indicating the priority with which the CPU 41 executes the programs 45 and 46. FIG. 13 is a diagram for explaining a conventional dispatch management table. In the example shown in FIG. 13, the dispatch management table 44 stores the execution priority and the load address in association with each other.
 例えば、図13に示す例では、ディスパッチ管理テーブル44には、「実行優先度1」と「ロードアドレス#1」、「実行優先度2」と「ロードアドレス#2」、「実行優先度5」と「ロードアドレス#3」とが対応付けて記憶されている。ここで、「ロードアドレス#1」は、システム制御プログラム45のロードアドレスであり、「ロードアドレス#3」は、ロギング出力プログラム46のロードアドレスである。CPU41は、図13に例示するディスパッチ管理テーブル44に従って各プログラムを実行した場合には、システム制御プログラム45をロギング出力プログラム46よりも優先して実行する。 For example, in the example illustrated in FIG. 13, the dispatch management table 44 includes “execution priority 1”, “load address # 1”, “execution priority 2”, “load address # 2”, and “execution priority 5”. And “load address # 3” are stored in association with each other. Here, “load address # 1” is the load address of the system control program 45, and “load address # 3” is the load address of the logging output program 46. When executing each program according to the dispatch management table 44 illustrated in FIG. 13, the CPU 41 executes the system control program 45 with priority over the logging output program 46.
 図12に戻って、システム制御プログラム45は、自身の実行履歴や通信履歴のログを作成し、作成したログをロギング情報48としてメモリ47に格納するとともに、ロギング出力プログラム46に対して、ロギング情報の出力を要求する。ロギング出力プログラム46は、システム制御プログラム45からロギング情報の出力を要求された場合には、以下の処理を実行する。 Returning to FIG. 12, the system control program 45 creates a log of its own execution history and communication history, stores the created log in the memory 47 as logging information 48, and sends logging information to the logging output program 46. Request output. When the logging output program 46 is requested to output logging information from the system control program 45, the logging output program 46 executes the following processing.
 すなわち、ロギング出力プログラム46は、メモリ47に自身のメモリ領域を確保し、図12中(α)に示すように、システム制御プログラム45のロギング情報48を確保したメモリ領域にロギング情報48aとして移動する。そして、ロギング出力プログラム46は、自身のメモリ領域に移動したロギング情報48aをHDD49にログファイル50として格納するとともに、自身が確保したメモリ領域を開放する。 That is, the logging output program 46 secures its own memory area in the memory 47, and moves as logging information 48a to the memory area where the logging information 48 of the system control program 45 is secured, as shown in FIG. . Then, the logging output program 46 stores the logging information 48a moved to its own memory area in the HDD 49 as the log file 50 and releases the memory area secured by itself.
特開2009-251747号公報JP 2009-251747 A
 しかしながら、上述したディスパッチ管理テーブルが示す実行優先度に従ってプログラムを実行する技術では、システム制御プログラムの実行優先度がロギング出力プログラムの実行優先度よりも高い。このため、システム制御プログラムがロギング出力プログラムも優先して実行される結果、ロギング出力プログラムが実行されず、ロギング情報がメモリに蓄積されてしまい、メモリ資源が不足してしまうという問題がある。 However, in the technique of executing a program according to the execution priority indicated by the dispatch management table described above, the execution priority of the system control program is higher than the execution priority of the logging output program. For this reason, as a result of the system control program preferentially executing the logging output program, the logging output program is not executed, and the logging information is accumulated in the memory, resulting in a shortage of memory resources.
 また、CPUの処理能力向上により、システム制御プログラムを実行する速度が向上するため、システム制御プログラムによって出力されるロギング情報の量がロギング出力プログラムによってロギング情報を出力する性能を上回ってしまう。この結果、システム制御プログラムのロギング情報を記憶するためメモリを利用してしまい、メモリ資源の不足により、システムが動作できなくなってしまう。 In addition, since the speed of executing the system control program is improved by improving the processing capability of the CPU, the amount of logging information output by the system control program exceeds the performance of outputting the logging information by the logging output program. As a result, the memory is used to store the logging information of the system control program, and the system cannot be operated due to a lack of memory resources.
 また、情報処理装置は、メモリ資源が不足しそうになった際に、メモリ資源を解放するため、システム制御プログラムを初めとする各プログラムのロギング情報の採取を停止した場合は、システムの不具合を調査するためのロギング情報を取得することができない。 In addition, the information processing device investigates system failures when it stops collecting logging information for each program, including the system control program, in order to release memory resources when memory resources are about to run out. Logging information cannot be obtained.
 なお、メモリ資源の不足を防ぐため、稼働率の高いプログラムのロギング情報を優先的に採取する技術が考えられる。しかし、このような技術では、稼働率の低いプログラムのロギング情報が取得されないので、システムの不具合等を調査するためのロギング情報を取得することができない。 In order to prevent a shortage of memory resources, a technique that preferentially collects logging information for programs with a high operation rate can be considered. However, with such a technique, logging information for a program having a low operation rate is not acquired, and therefore logging information for investigating a system malfunction or the like cannot be acquired.
 本願に開示の技術は、1つの側面では、プログラムの実行履歴や通信履歴のログの採取を円滑に行うことを目的とする。 In one aspect, the technology disclosed in the present application aims to smoothly collect a log of a program execution history and a communication history.
 1つの側面では、複数のプログラムと、各プログラムの実行優先度との対応関係を示す優先度情報に従って、各プログラムを実行する情報処理装置である。このような情報処理装置は、各プログラムのログ情報をメモリから記憶装置に出力するログ出力プログラムに対して割当てられたメモリ領域の量を識別する。また、情報処理装置は、識別したメモリ領域の量が、閾値よりも多いか否かを判別する。そして、情報処理装置は、識別した領域の量が閾値よりも多いと判別した場合には、優先度情報においてログ出力プログラムと対応付けられた優先度を他のプログラムの優先度よりも高く更新する。 In one aspect, the information processing apparatus executes each program according to priority information indicating a correspondence relationship between a plurality of programs and the execution priority of each program. Such an information processing apparatus identifies the amount of memory area allocated to a log output program that outputs log information of each program from a memory to a storage device. Further, the information processing apparatus determines whether the amount of the identified memory area is larger than a threshold value. When the information processing apparatus determines that the amount of the identified area is greater than the threshold, the information processing apparatus updates the priority associated with the log output program in the priority information higher than the priority of the other programs. .
 1つの側面では、プログラムの実行履歴や通信履歴のログを円滑に採取することができる。 In one aspect, program execution history and communication history logs can be collected smoothly.
図1は、実施例1に係る情報処理装置を説明するための図である。FIG. 1 is a diagram for explaining the information processing apparatus according to the first embodiment. 図2は、実施例1に係るシステムのディスパッチ管理テーブルのうち、システム階層のテーブルを説明するための図である。FIG. 2 is a diagram for explaining a system hierarchy table among the dispatch management tables of the system according to the first embodiment. 図3は、プログラムグループ単位のディスパッチ管理テーブルを説明するための図である。FIG. 3 is a diagram for explaining a dispatch management table for each program group. 図4は、メモリ管理テーブルの一例を説明するための図である。FIG. 4 is a diagram for explaining an example of the memory management table. 図5は、実施例1に係る実行優先度制御部がディスパッチ管理テーブルを更新する処理を説明するための図である。FIG. 5 is a diagram for explaining processing in which the execution priority control unit according to the first embodiment updates the dispatch management table. 図6は、実施例1に係る情報処理装置において通常時に実行される処理の内容を説明するための図である。FIG. 6 is a diagram for explaining the contents of processing that is normally performed in the information processing apparatus according to the first embodiment. 図7は、実施例1に係る情報処理装置においてメモリ資源不足時に実行される処理の内容を説明するための図である。FIG. 7 is a diagram for explaining the contents of processing executed when the information processing apparatus according to the first embodiment runs out of memory resources. 図8は、実施例1に係る情報処理装置においてメモリ資源に余裕が生じた際に実行される処理の内容を説明するための図である。FIG. 8 is a diagram for explaining the contents of processing executed when a margin is generated in the memory resource in the information processing apparatus according to the first embodiment. 図9は、実施例1に係る情報処理装置がディスパッチ管理テーブルに従って実行する処理の流れの一例を説明するためのフローチャートである。FIG. 9 is a flowchart for explaining an example of a flow of processing executed by the information processing apparatus according to the first embodiment according to the dispatch management table. 図10は、実施例1に係るディスパッチ管理テーブルを更新する処理の流れの一例を説明するためのフローチャートである。FIG. 10 is a flowchart for explaining an example of a process flow for updating the dispatch management table according to the first embodiment. 図11は、管理プログラムを実行するコンピュータの一例を説明するための図である。FIG. 11 is a diagram illustrating an example of a computer that executes a management program. 図12は、従来の情報処理装置を説明するための図である。FIG. 12 is a diagram for explaining a conventional information processing apparatus. 図13は、従来のディスパッチ管理テーブルを説明するための図である。FIG. 13 is a diagram for explaining a conventional dispatch management table.
 以下に添付図面を参照して本願に係る情報処理装置、管理プログラムおよび管理方法について説明する。 Hereinafter, an information processing apparatus, a management program, and a management method according to the present application will be described with reference to the accompanying drawings.
 以下の実施例1では、図1を用いて、情報処理装置の一例を説明する。図1は、実施例1に係る情報処理装置を説明するための図である。図1に示す例では、情報処理装置1は、CPU(Central Processing Unit)10、メモリ20、HDD(Hard Disk Drive)30を有する。 In the following first embodiment, an example of an information processing apparatus will be described with reference to FIG. FIG. 1 is a diagram for explaining the information processing apparatus according to the first embodiment. In the example illustrated in FIG. 1, the information processing apparatus 1 includes a CPU (Central Processing Unit) 10, a memory 20, and an HDD (Hard Disk Drive) 30.
 また、CPU10は、OS(Operating System)11を実行する。OS11は、プログラムグループ12、ディスパッチ制御部15、メモリ管理制御部17、実行優先度制御部19を有する。また、プログラムグループ12は、システム制御プログラム13、ロギング出力プログラム14を有する。また、ディスパッチ制御部15は、ディスパッチ管理テーブル16を有する。 Further, the CPU 10 executes an OS (Operating System) 11. The OS 11 includes a program group 12, a dispatch control unit 15, a memory management control unit 17, and an execution priority control unit 19. The program group 12 includes a system control program 13 and a logging output program 14. The dispatch control unit 15 has a dispatch management table 16.
 また、メモリ管理制御部17は、メモリ管理テーブル18を有する。なお、図1には記載していないが、プログラムグループ12は、システム制御プログラム13、および、ロギング出力プログラム14以外にも、OS11としての機能を発揮するための様々なプログラムを有する。また、メモリ20は、システム制御プログラム13の実行履歴や通信履歴であるロギング情報21を記憶する。また、HDD30は、ロギング出力プログラム14によって出力されたロギング情報であるログファイル31が記憶されている。 Further, the memory management control unit 17 has a memory management table 18. Although not shown in FIG. 1, the program group 12 has various programs other than the system control program 13 and the logging output program 14 for exhibiting the function as the OS 11. The memory 20 also stores logging information 21 that is an execution history and communication history of the system control program 13. The HDD 30 stores a log file 31 that is logging information output by the logging output program 14.
 ここで、プログラムグループ12とは、通信機能や計算機能等の処理を実現するために実行されるプログラムのグループである。例えば、プログラムグループ12は、ネットワーク通信等のサービスを情報処理装置1が提供するためにCPU10で実行する複数のプログラムをグループ化したものである。 Here, the program group 12 is a group of programs that are executed in order to realize processing such as a communication function and a calculation function. For example, the program group 12 is a group of a plurality of programs that are executed by the CPU 10 in order for the information processing apparatus 1 to provide services such as network communication.
 以下、CPU10が実行するOS11が有する各部13~19について説明する。システム制御プログラム13は、CPU10によって実行されるプログラムである。例えば、システム制御プログラム13は、情報処理装置1が提供するサービスを提供するために実行される各種演算処理をCPU10に実行させるプログラムである。また、システム制御プログラム13は、自身の実行履歴や通信履歴をロギング情報21として、メモリ20に格納する。 Hereinafter, the units 13 to 19 included in the OS 11 executed by the CPU 10 will be described. The system control program 13 is a program executed by the CPU 10. For example, the system control program 13 is a program that causes the CPU 10 to execute various arithmetic processes that are executed to provide a service provided by the information processing apparatus 1. Further, the system control program 13 stores its own execution history and communication history in the memory 20 as logging information 21.
 以下、CPU10によって実行されるステム制御プログラム13の処理について具体的に説明する。まず、システム制御プログラム13は、メモリ管理制御部17に対して、自身へのメモリ領域の割当を要求する。そして、システム制御プログラム13は、メモリ管理制御部17によって、メモリ領域が割当てられた場合には、自身の実行履歴や通信履歴をロギング情報21として、メモリ20に格納する。また、システム制御プログラム13は、ロギング情報21をメモリ20に格納した場合には、ロギング出力プログラム14に対して、ロギング情報21の出力を要求する。 Hereinafter, the processing of the stem control program 13 executed by the CPU 10 will be specifically described. First, the system control program 13 requests the memory management control unit 17 to allocate a memory area to itself. When the memory area is allocated by the memory management control unit 17, the system control program 13 stores its own execution history and communication history in the memory 20 as logging information 21. Further, when the logging information 21 is stored in the memory 20, the system control program 13 requests the logging output program 14 to output the logging information 21.
 次に、CPU10によって実行されたロギング出力プログラム14の処理について具体的に説明する。ロギング出力プログラム14は、メモリ20に格納されたロギング情報21をHDD30に出力するプログラムである。具体的には、ロギング出力プログラム14は、システム制御プログラム13からロギング情報21の出力を要求された場合には、以下の処理を実行する。すなわち、ロギング出力プログラム14は、メモリ管理制御部17に対して、自身へのメモリ領域の割当てを要求する。 Next, the processing of the logging output program 14 executed by the CPU 10 will be specifically described. The logging output program 14 is a program that outputs logging information 21 stored in the memory 20 to the HDD 30. Specifically, when the output of logging information 21 is requested from the system control program 13, the logging output program 14 executes the following processing. That is, the logging output program 14 requests the memory management control unit 17 to allocate a memory area to itself.
 そして、ロギング出力プログラム14は、メモリ管理制御部17によってメモリ領域が割当てられた場合には、システム制御プログラム13のメモリ領域に格納されたロギング情報21を自身のメモリ領域に複製する。また、ロギング出力プログラム14は、ロギング情報21を自身のメモリ領域に複製した場合には、システム制御プログラム13のメモリ領域に格納されたロギング情報21を削除する。 When the memory area is allocated by the memory management control unit 17, the logging output program 14 copies the logging information 21 stored in the memory area of the system control program 13 to its own memory area. Further, when the logging output program 14 duplicates the logging information 21 in its own memory area, the logging output program 14 deletes the logging information 21 stored in the memory area of the system control program 13.
 すなわち、ロギング出力プログラム14は、システム制御プログラム13のロギング情報21を採取する。そして、ロギング出力プログラム14は、メモリ管理制御部17にシステム制御プログラム13に割当てられたメモリ領域のうち、ロギング情報21が格納されていた領域の解放を要求する。そして、ロギング出力プログラム14は、自身のメモリ領域に複製したロギング情報21をHDD30のログファイル31に出力する。また、ロギング出力プログラム14は、メモリ管理制御部17に、自身に割当てられたメモリ領域の解放を要求する。 That is, the logging output program 14 collects the logging information 21 of the system control program 13. Then, the logging output program 14 requests the memory management control unit 17 to release the area in which the logging information 21 is stored, among the memory areas allocated to the system control program 13. Then, the logging output program 14 outputs the logging information 21 copied to its own memory area to the log file 31 of the HDD 30. Further, the logging output program 14 requests the memory management control unit 17 to release the memory area allocated to itself.
 ディスパッチ制御部15は、プログラムグループ12が有する各プログラム13、14について、CPU10が実行する優先度を制御する。具体的には、ディスパッチ制御部15は、各プログラム13、14をCPU10が実行する優先度と、各プログラムのロードアドレスとを対応付けて記憶するディスパッチ管理テーブル16を有する。そして、ディスパッチ制御部15は、各プログラムのロードアドレスと対応付けられた優先度に従って、ディスパッチ処理を実行する。 The dispatch control unit 15 controls the priority executed by the CPU 10 for each of the programs 13 and 14 included in the program group 12. Specifically, the dispatch control unit 15 includes a dispatch management table 16 that stores a priority level at which the CPU 10 executes the programs 13 and 14 and a load address of each program in association with each other. Then, the dispatch control unit 15 executes the dispatch process according to the priority associated with the load address of each program.
 ここで、ディスパッチ管理テーブル16は、階層構造を有し、各階層は、CPU10が実行する処理の内容と対応する。以下、図面を用いて、ディスパッチ管理テーブル16の具体例について説明する。図2は、実施例1に係るシステムのディスパッチ管理テーブルのうち、システム階層のテーブルを説明するための図である。図2は、CPU10が実行する複数のプログラムA~Zのロードアドレスと、各プログラムA~Zの優先度とを対応付けたシステム階層のディスパッチ管理テーブル16aの一例を示す図である。 Here, the dispatch management table 16 has a hierarchical structure, and each hierarchy corresponds to the contents of processing executed by the CPU 10. Hereinafter, a specific example of the dispatch management table 16 will be described with reference to the drawings. FIG. 2 is a diagram for explaining a system hierarchy table among the dispatch management tables of the system according to the first embodiment. FIG. 2 is a diagram showing an example of a system layer dispatch management table 16a in which load addresses of a plurality of programs A to Z executed by the CPU 10 are associated with priorities of the programs A to Z.
 なお、プログラムA~Zは、プログラムグループ12が有する各プログラム13、14とは異なるプログラムであり、例えば、情報処理装置1が提供するサービスを実現するためのCPU10が実行するプログラムである。つまり、ディスパッチ管理テーブル16aは、情報処理装置1が実行する全プログラムについての優先度を示すテーブルである。 Note that the programs A to Z are different from the programs 13 and 14 included in the program group 12, and are programs executed by the CPU 10 for realizing a service provided by the information processing apparatus 1, for example. That is, the dispatch management table 16a is a table indicating the priorities for all programs executed by the information processing apparatus 1.
 また、システム階層のディスパッチ管理テーブル16aには、プログラムグループ連鎖フラグとして「●」が格納されている。このプログラムグループ連鎖フラグ「●」は、プログラムグループ単位で優先度とロードアドレスとを対応付けたディスパッチ管理テーブル16bに対応付けられている。 Also, “●” is stored as the program group chain flag in the dispatch management table 16a in the system hierarchy. The program group chain flag “●” is associated with the dispatch management table 16b in which priority and load address are associated with each other in program group units.
 以下、図3を用いて、プログラムグループ単位のディスパッチ管理テーブルについて説明する。図3は、プログラムグループ単位のディスパッチ管理テーブルを説明するための図である。図3に示す例では、ディスパッチ管理テーブル16bは、実行優先度3とシステム制御プログラム13のロードアドレスを対応付けて記憶する。また、ディスパッチ管理テーブル16bは、実行優先度Nとロギング出力プログラム14のロードアドレスとを対応付けて記憶する。つまり、ディスパッチ管理テーブル16bは、プログラムグループ12が有する各プログラム13、14の優先度を設定するためのテーブルである。 Hereinafter, the dispatch management table for each program group will be described with reference to FIG. FIG. 3 is a diagram for explaining a dispatch management table for each program group. In the example illustrated in FIG. 3, the dispatch management table 16 b stores the execution priority 3 and the load address of the system control program 13 in association with each other. The dispatch management table 16b also stores the execution priority N and the load address of the logging output program 14 in association with each other. That is, the dispatch management table 16b is a table for setting priorities of the programs 13 and 14 included in the program group 12.
 後述するようにCPU10は、複数の処理待ちプログラムが存在する場合には、ディスパッチ管理テーブル16aが示す優先度に従って、プログラムを実行する。例えば、CPU10は、プログラムAとプログラムXとが処理待ちプログラムである場合には、プログラムAを先に実行し、その後、プログラムXを実行する。 As will be described later, when there are a plurality of processing waiting programs, the CPU 10 executes the program according to the priority indicated by the dispatch management table 16a. For example, if the program A and the program X are waiting programs, the CPU 10 executes the program A first and then executes the program X.
 また、CPU10は、処理待ちプログラムがプログラムグループ連鎖域に含まれる場合、つまり、処理待ちプログラムがプログラムグループ12が有するプログラムである場合には、ディスパッチ管理テーブル16bの読み込みを行う。そして、CPU10は、ディスパッチ管理テーブル16bが示す優先度に従って、プログラムを実行する。 In addition, when the processing waiting program is included in the program group chain area, that is, when the processing waiting program is a program included in the program group 12, the CPU 10 reads the dispatch management table 16b. Then, the CPU 10 executes the program according to the priority indicated by the dispatch management table 16b.
 図1に戻って、メモリ管理制御部17は、メモリ20の領域を管理する。具体的には、メモリ管理制御部17は、CPU10が実行する各プログラム13、14からメモリ領域の割当てを要求された場合には、メモリ20が有する記憶領域のうち、割当が行われていないメモリ領域の一部を獲得する。そして、メモリ管理制御部17は、獲得したメモリ領域を、メモリ領域の割当を要求したプログラムに割当てる。また、メモリ管理制御部17は、メモリ領域の解放を要求された場合には、要求されたメモリ領域の解放を行う。 Referring back to FIG. 1, the memory management control unit 17 manages the area of the memory 20. Specifically, the memory management control unit 17, when requested to allocate a memory area from each of the programs 13 and 14 executed by the CPU 10, is a memory that is not allocated among the storage areas of the memory 20. Earn part of the area. Then, the memory management control unit 17 allocates the acquired memory area to the program that requested the allocation of the memory area. Further, when the memory management control unit 17 is requested to release the memory area, the memory management control part 17 releases the requested memory area.
 また、メモリ管理制御部17は、プログラムグループに含まれるロギング出力プログラム14がメモリ領域の取得およびメモリ領域の解放を要求するたびに、ロギング出力プログラム14に割当てられたメモリ領域の量を確認する。そして、メモリ管理制御部17は、識別したメモリ領域の量が所定の閾値よりも多い場合には、ロギング出力プログラム14の実行優先度を他のプログラム(例えば、システム制御プログラム13)の優先度よりも高い値にするよう実行優先度制御部19に通知する。 Further, the memory management control unit 17 checks the amount of memory area allocated to the logging output program 14 every time the logging output program 14 included in the program group requests acquisition of the memory area and release of the memory area. The memory management control unit 17 sets the execution priority of the logging output program 14 to the priority of other programs (for example, the system control program 13) when the amount of the identified memory area is larger than a predetermined threshold. Is also notified to the execution priority control unit 19 so as to be a high value.
 以下、メモリ管理制御部17が、ロギング出力プログラム14の実行優先度を変更する処理について、具体的に説明する。メモリ管理制御部17は、メモリ管理テーブル18を有する。ここで、メモリ管理テーブル18は、ロギング出力プログラム14に割当てられたメモリ領域の量と、実行優先度とを対応付けて記憶する。 Hereinafter, a process in which the memory management control unit 17 changes the execution priority of the logging output program 14 will be specifically described. The memory management control unit 17 has a memory management table 18. Here, the memory management table 18 stores the amount of memory area allocated to the logging output program 14 and the execution priority in association with each other.
 図4は、メモリ管理テーブルの一例を説明するための図である。図4に示す例では、メモリ管理テーブル18は、閾値[xx%]と実行優先度1とを対応付けて記憶し、閾値[yy%]と実行優先度2とを対応付けて記憶する。また、メモリ管理テーブル18は、通常状態を示す情報と実行優先度3とを対応付けて記憶する。また、メモリ管理テーブル18は、現在の実行優先度を示す情報として、実行優先度Nを記憶する。ここで、閾値[xx%]は、閾値[yy%]よりも高い値であるとする。例えば、閾値[xx%]は[80%]であり、閾値[yy%]は、[70%]である。なお、閾値は、利用者が任意の値を設定することとしてもよい。 FIG. 4 is a diagram for explaining an example of the memory management table. In the example illustrated in FIG. 4, the memory management table 18 stores the threshold [xx%] and the execution priority 1 in association with each other, and stores the threshold [yy%] and the execution priority 2 in association with each other. Further, the memory management table 18 stores information indicating the normal state and the execution priority 3 in association with each other. The memory management table 18 stores an execution priority N as information indicating the current execution priority. Here, it is assumed that the threshold value [xx%] is higher than the threshold value [yy%]. For example, the threshold [xx%] is [80%], and the threshold [yy%] is [70%]. The threshold value may be set by the user as an arbitrary value.
 例えば、メモリ管理制御部17は、ロギング出力プログラム14に対するメモリ領域の割り当て、又は、ロギング出力プログラム14に割当てられたメモリ領域の解放を行う。そして、メモリ管理制御部17は、メモリ領域の割り当て後、又は、メモリ領域の解放後に、メモリ20全体に対して、ロギング出力プログラム14に割当てられたメモリ領域が占める割合を算出する。 For example, the memory management control unit 17 allocates a memory area to the logging output program 14 or releases a memory area allocated to the logging output program 14. Then, the memory management control unit 17 calculates the ratio of the memory area allocated to the logging output program 14 to the entire memory 20 after the memory area is allocated or the memory area is released.
 そして、メモリ管理制御部17は、算出した割合が、閾値[xx%]よりも多いか否かを判別し、多いと判別した場合には、閾値[xx%]と対応付けて記憶された実行優先度1を取得する。一方、メモリ管理制御部17は、算出した割合が閾値[xx%]よりも少ないと判別した場合には、算出した割合が閾値[yy%]よりも多いか否かを判別する。 Then, the memory management control unit 17 determines whether or not the calculated ratio is greater than the threshold value [xx%]. If it is determined that the calculated ratio is higher, the execution is stored in association with the threshold value [xx%]. Priority 1 is acquired. On the other hand, if the memory management control unit 17 determines that the calculated ratio is less than the threshold value [xx%], the memory management control unit 17 determines whether the calculated ratio is greater than the threshold value [yy%].
 そして、メモリ管理制御部17は、算出した割合が閾値[yy%]よりも多いと判別した場合には、閾値[yy%]と対応付けて記憶された実行優先度2を取得する。また、メモリ管理制御部17は、算出した割合が閾値[yy%]よりも少ないと判別した場合には、ロギング出力プログラム14に割当てられたメモリ領域の状態が通常状態であると判別する。このような場合には、メモリ管理制御部17は、通常状態を示す情報と対応付けられた実行優先度3を取得する。 When the memory management control unit 17 determines that the calculated ratio is greater than the threshold value [yy%], the memory management control unit 17 acquires the execution priority 2 stored in association with the threshold value [yy%]. Further, when the memory management control unit 17 determines that the calculated ratio is less than the threshold value [yy%], the memory management control unit 17 determines that the state of the memory area allocated to the logging output program 14 is the normal state. In such a case, the memory management control unit 17 acquires the execution priority 3 associated with the information indicating the normal state.
 また、メモリ管理制御部17は、実行優先度を取得した場合には、取得した実行優先度と現在の実行優先度として記憶された実行優先度が同じであるか否かを判別する。そして、メモリ管理制御部17は、取得した実行優先度と現在の実行優先度として記憶された実行優先度が異なると判別した場合には、以下の処理を実行する。すなわち、メモリ管理制御部17は、現在の実行優先度として記憶された実行優先度を取得した優先度に更新する。また、メモリ制御部17は、取得した実行優先度を実行優先度制御部19に通知する。 Further, when the execution priority is acquired, the memory management control unit 17 determines whether or not the acquired execution priority and the execution priority stored as the current execution priority are the same. When the memory management control unit 17 determines that the acquired execution priority is different from the execution priority stored as the current execution priority, the memory management control unit 17 executes the following processing. That is, the memory management control unit 17 updates the execution priority stored as the current execution priority to the acquired priority. In addition, the memory control unit 17 notifies the execution priority control unit 19 of the acquired execution priority.
 一方、メモリ管理制御部17は、取得した実行優先度と、現在の実行優先度として記憶された実行優先度とが同じである場合には、現在の実行優先度として記憶された実行優先度の変更および実行優先度制御部19への通知を行わずに、処理を終了する。 On the other hand, if the acquired execution priority and the execution priority stored as the current execution priority are the same, the memory management control unit 17 determines the execution priority stored as the current execution priority. The process is terminated without notifying the change and execution priority control unit 19.
 図1に戻って、実行優先度制御部19は、ディスパッチ管理テーブル16に記憶されたロギング出力プログラム14の実行優先度を更新する。具体的には、実行優先度制御部19は、メモリ管理制御部17から実行優先度を受信した場合には、以下の処理を実行する。すなわち、実行優先度制御部19は、ディスパッチ制御部15が記憶するディスパッチ管理テーブル16のうち、ロギング出力プログラム14と対応付けて記憶された実行優先度をメモリ管理制御部17から通知された実行優先度に更新する。 Returning to FIG. 1, the execution priority control unit 19 updates the execution priority of the logging output program 14 stored in the dispatch management table 16. Specifically, when the execution priority control unit 19 receives the execution priority from the memory management control unit 17, the execution priority control unit 19 executes the following processing. That is, the execution priority control unit 19 executes the execution priority notified from the memory management control unit 17 of the execution priority stored in association with the logging output program 14 in the dispatch management table 16 stored in the dispatch control unit 15. Update every time.
 例えば、図5は、実施例1に係る実行優先度制御部がディスパッチ管理テーブルを更新する処理を説明するための図である。図5に示すように、実行優先度制御部は、ディスパッチ管理テーブル16bに記憶されたロギング出力プログラムロードアドレスの実行優先度を実行優先度1とする。 For example, FIG. 5 is a diagram for explaining processing in which the execution priority control unit according to the first embodiment updates the dispatch management table. As illustrated in FIG. 5, the execution priority control unit sets the execution priority of the logging output program load address stored in the dispatch management table 16 b as the execution priority 1.
 次に、図6~8を用いて、各部12~19が実行する処理の流れについて説明する。図6は、実施例1に係る情報処理装置において通常時に実行される処理の内容を説明するための図である。また、図7は、実施例1に係る情報処理装置においてメモリ資源不足時に実行される処理の内容を説明するための図である。また、図8は、実施例1に係る情報処理装置においてメモリ資源に余裕が生じた際に実行される処理の内容を説明するための図である。 Next, the flow of processing executed by the units 12 to 19 will be described with reference to FIGS. FIG. 6 is a diagram for explaining the contents of processing that is normally performed in the information processing apparatus according to the first embodiment. FIG. 7 is a diagram for explaining the contents of the process executed when the memory resource is insufficient in the information processing apparatus according to the first embodiment. FIG. 8 is a diagram for explaining the contents of processing executed when a margin is generated in the memory resource in the information processing apparatus according to the first embodiment.
 まず、図6を用いて、通常時に実行される処理の内容について説明する。まず、図6中(A)に示すように、システム制御プログラム13は、メモリ管理制御部17に対して、メモリ20のメモリ領域の割り当てを要求する。このような場合には、メモリ管理制御部17は、図6中(B)に示すように、メモリ20にシステム制御プログラム13のメモリ領域を確保する。 First, the contents of processing executed in normal time will be described with reference to FIG. First, as shown in FIG. 6A, the system control program 13 requests the memory management control unit 17 to allocate a memory area of the memory 20. In such a case, the memory management control unit 17 secures a memory area of the system control program 13 in the memory 20 as shown in FIG.
 次に、システム制御プログラム13は、メモリ20に確保された自身のメモリ領域にロギング情報21を格納する。そして、システム制御プログラム13は、図6中(C)に示すように、ロギング出力プログラム14に、ロギング情報21の出力を要求する。このような場合には、ロギング出力プログラム14は、図6中(D)に示すように、メモリ管理制御部17に対して、メモリ領域の割り当てを要求する。 Next, the system control program 13 stores the logging information 21 in its own memory area secured in the memory 20. Then, the system control program 13 requests the logging output program 14 to output the logging information 21 as shown in FIG. In such a case, the logging output program 14 requests the memory management control unit 17 to allocate a memory area as shown in FIG.
 ここで、メモリ管理制御部17は、図6中(E)に示すように、メモリ管理制御部17のメモリ領域を確保するとともに、ロギング出力プログラム14に割当てられたメモリ領域の割合を判別する。そして、図6に示す例では、メモリ管理制御部17は、ロギング出力プログラム14の実行優先度の変更なしと判別する。 Here, as shown in FIG. 6E, the memory management control unit 17 secures the memory area of the memory management control unit 17 and determines the ratio of the memory area allocated to the logging output program 14. In the example illustrated in FIG. 6, the memory management control unit 17 determines that the execution priority of the logging output program 14 has not been changed.
 このような場合には、ロギング出力プログラム14は、図6中(F)に示すように、自信に割当てられた領域にロギング情報のコピー22を作成し、ロギング情報21を削除する。また、ロギング出力プログラム14は、システム制御プログラム13からロギング情報21の出力を要求されるたびに、自身に割当てられたメモリ領域に、ロギング情報21を移動させる。 In such a case, as shown in FIG. 6F, the logging output program 14 creates a copy 22 of the logging information in the area allocated with confidence, and deletes the logging information 21. The logging output program 14 moves the logging information 21 to the memory area allocated to the logging output program 14 every time the system control program 13 requests the logging information 21 to be output.
 そして、ロギング出力プログラム14は、自身のメモリ領域に蓄積されたロギング情報21の量が所定の量を超えた場合には、以下の処理を実行する。すなわち、ロギング出力プログラム14は、図6中(G)に示すように、ロギング情報のコピー22をHDD30に記憶されたログファイル31に格納する。 The logging output program 14 executes the following processing when the amount of logging information 21 stored in its memory area exceeds a predetermined amount. That is, the logging output program 14 stores a copy 22 of the logging information in the log file 31 stored in the HDD 30 as shown in FIG.
 次に、図7を用いて、メモリが不足しそうな際に、ロギング出力プログラム14の実行優先度を変更する処理の内容を説明する。図7は、実施例1に係る情報処理装置においてロギング出力プログラムの実行優先度を上げる処理を説明するための図である。なお、図7に示す例では、ロギング出力プログラム14に新たなメモリ領域が割当てられた場合には、ロギング出力プログラム14に割当てられたメモリ領域の割合が、閾値[xx%]を超えるものとする。また、図7に示す例では、システム制御プログラム13のロードアドレスは、実行優先度3と対応付けられているものとする。 Next, the contents of processing for changing the execution priority of the logging output program 14 when memory is likely to be insufficient will be described with reference to FIG. FIG. 7 is a diagram for explaining processing for increasing the execution priority of the logging output program in the information processing apparatus according to the first embodiment. In the example illustrated in FIG. 7, when a new memory area is allocated to the logging output program 14, the ratio of the memory area allocated to the logging output program 14 exceeds the threshold [xx%]. . In the example shown in FIG. 7, it is assumed that the load address of the system control program 13 is associated with the execution priority 3.
 例えば、システム制御プログラム13は、図7中(H)に示すように、メモリ管理制御部17に対して、メモリ領域の割り当てを要求する。このような場合には、図7中(I)に示すように、メモリ管理制御部17は、メモリ20から、システム制御プログラム13にメモリ領域を割当てる。 For example, as shown in FIG. 7H, the system control program 13 requests the memory management control unit 17 to allocate a memory area. In such a case, as shown at (I) in FIG. 7, the memory management control unit 17 allocates a memory area from the memory 20 to the system control program 13.
 システム制御プログラム13は、メモリ領域が割当てられた場合には、割当てられた領域にロギング情報21を格納するとともに、図7中(J)に示すように、ロギング出力プログラム14に、ロギング情報21の出力を要求する。このような場合には、図7中(K)に示すように、ロギング出力プログラム14は、メモリ管理制御部17にメモリの割当てを要求する。 When the memory area is allocated, the system control program 13 stores the logging information 21 in the allocated area, and also stores the logging information 21 in the logging output program 14 as shown in FIG. Request output. In such a case, as shown in FIG. 7K, the logging output program 14 requests the memory management controller 17 to allocate memory.
 このような場合には、メモリ管理制御部17は、図7中(L)に示すように、メモリ20の領域をロギング出力プログラム14に割当てる。そして、ロギング出力プログラム14は、図7中(M)に示すように、自信に割当てられた領域にロギング情報のコピー22を作成し、ロギング情報21を削除する。 In such a case, the memory management control unit 17 allocates the area of the memory 20 to the logging output program 14 as shown in (L) of FIG. Then, as shown in FIG. 7M, the logging output program 14 creates a copy 22 of the logging information in the area allocated by the user, and deletes the logging information 21.
 また、メモリ管理制御部17は、メモリ管理テーブル18を参照し、ロギング出力プログラム14に割当てられたメモリ領域の割合が、閾値[xx%]を超えているか否かを判別する。そして図7に示す例では、メモリ管理制御部17は、ロギング出力プログラム14に割当てられたメモリ領域の割合が、閾値[xx%]を超えていると判別する。すなわち、図7中(N)に示すように、メモリ管理制御部17は、ロギング出力プログラム14の実行優先度を変更する旨を決定する。 Also, the memory management control unit 17 refers to the memory management table 18 and determines whether or not the ratio of the memory area allocated to the logging output program 14 exceeds the threshold [xx%]. In the example illustrated in FIG. 7, the memory management control unit 17 determines that the ratio of the memory area allocated to the logging output program 14 exceeds the threshold [xx%]. That is, as indicated by (N) in FIG. 7, the memory management control unit 17 determines to change the execution priority of the logging output program 14.
 そして、メモリ管理制御部17は、図7中(O)に示すように、メモリ管理テーブル18に閾値[xx%]と対応付けて記憶された実行優先度1を実行優先度制御部19に通知する。そして、実行優先度制御部19は、図7中(P)に示すように、ディスパッチ管理テーブル16に、ロギング出力プログラム14のロードアドレスを実行優先度1のテーブルに、ロギング出力プログラム14のロードアドレスを連鎖させる。すなわち、実行優先度制御部19は、ロギング出力プログラム14のロードアドレスと対応付けられた実行優先度をメモリ管理制御部17から通知された実行優先度1に更新する。 Then, the memory management control unit 17 notifies the execution priority control unit 19 of the execution priority 1 stored in the memory management table 18 in association with the threshold [xx%], as indicated by (O) in FIG. To do. Then, the execution priority control unit 19 stores the load address of the logging output program 14 in the dispatch management table 16 in the table of execution priority 1 and the load address of the logging output program 14 in the dispatch management table 16 as shown in FIG. To chain. That is, the execution priority control unit 19 updates the execution priority associated with the load address of the logging output program 14 to the execution priority 1 notified from the memory management control unit 17.
 このような場合には、ロギング出力プログラム14の実行優先度は、システム制御プログラム13の実行優先度よりも高くなる。このため、ロギング出力プログラム14は、図7中(Q)に示すように、ロギング情報のコピー22をログファイル31に出力する処理を優先的に実行することができる。 In such a case, the execution priority of the logging output program 14 is higher than the execution priority of the system control program 13. For this reason, the logging output program 14 can preferentially execute the process of outputting the copy 22 of the logging information to the log file 31 as indicated by (Q) in FIG.
 このように、情報処理装置1は、ロギング出力プログラム14に割当てられたメモリ領域の割合を識別し、識別した割合が所定の閾値よりも高い場合には、ロギング出力プログラム14の実行優先度を高い優先度に変更する。このため、情報処理装置1は、ロギング出力プログラム14を優先して実行する結果、メモリ資源の不足を防ぐことができる。また、情報処理装置1は、ロギング出力プログラム14の動作を停止させない。このため、情報処理装置1は、ロギング情報のコピー22がログファイル31に出力される結果、問題発生時にも、ロギング情報を円滑に採取することができる。 In this way, the information processing apparatus 1 identifies the proportion of the memory area allocated to the logging output program 14, and when the identified proportion is higher than a predetermined threshold, the execution priority of the logging output program 14 is high. Change to priority. For this reason, the information processing apparatus 1 can prevent the memory resource from being insufficient as a result of executing the logging output program 14 with priority. Further, the information processing apparatus 1 does not stop the operation of the logging output program 14. For this reason, the information processing apparatus 1 can smoothly collect the logging information even when a problem occurs as a result of outputting the copy 22 of the logging information to the log file 31.
 次に、図8を用いて、ロギング出力プログラム14の実行優先度を下げる処理の一例について説明する。図8は、実施例1に係る情報処理装置がロギング出力プログラムの実行優先度を下げる処理を説明するための図である。なお、図8に示す例では、ロギング出力プログラム14の実行優先度が実行優先度1であるものとする。また、ロギング出力プログラム14がメモリ領域を開放した場合には、ロギング出力プログラム14に割当てられたメモリ領域の割合が閾値[yy%]を下回るものとする。 Next, an example of processing for lowering the execution priority of the logging output program 14 will be described with reference to FIG. FIG. 8 is a diagram for explaining processing in which the information processing apparatus according to the first embodiment lowers the execution priority of the logging output program. In the example shown in FIG. 8, it is assumed that the execution priority of the logging output program 14 is the execution priority 1. When the logging output program 14 releases the memory area, the ratio of the memory area allocated to the logging output program 14 is assumed to be lower than the threshold value [yy%].
 まず、図8に示す例では、図8中(R)に示すように、ロギング出力プログラム14は、自身のメモリ領域に格納されたロギング情報のコピー22(すなわち、ロギング情報21)をHDD30のログファイル31に出力する。また、ロギング出力プログラム14は、ロギング情報のコピー22を出力した場合には、図8中(S)に示すように、メモリ管理制御部17に、自身に割当てられたメモリ領域の解放を要求する。 First, in the example shown in FIG. 8, as shown in (R) in FIG. 8, the logging output program 14 stores a copy 22 of the logging information stored in its memory area (that is, logging information 21) in the log of the HDD 30. Output to file 31. Further, when the logging output program 14 outputs a copy 22 of the logging information, as shown in (S) of FIG. 8, the logging output program 14 requests the memory management control unit 17 to release the memory area allocated to itself. .
 このような場合には、メモリ管理制御部17は、図8中(T)に示すように、ロギング出力プログラム14に割当てられたメモリ領域を解放する。また、メモリ管理制御部17は、メモリ領域の解放後、ロギング出力プログラム14に割当てられたメモリ領域の割合と、メモリ管理テーブル18に記憶された各閾値とを比較する。図8に示す例では、メモリ管理制御部17は、ロギング出力プログラム14に割当てられたメモリ領域の割合が、閾値「yy%」よりも低いと判別する。 In such a case, the memory management control unit 17 releases the memory area allocated to the logging output program 14 as shown in (T) of FIG. In addition, the memory management control unit 17 compares the ratio of the memory area allocated to the logging output program 14 with the respective threshold values stored in the memory management table 18 after the memory area is released. In the example illustrated in FIG. 8, the memory management control unit 17 determines that the ratio of the memory area allocated to the logging output program 14 is lower than the threshold “yy%”.
 このため、メモリ管理制御部17は、図8中(U)に示すように、優先度を変更する旨を決定する。そして、図8中(V)に示すように、メモリ管理制御部17は、通常状態と対応付けられた実行優先度5を実行優先度制御部19に通知する。このような場合には、実行優先度制御部19は、図8中(W)に示すように、実行優先度5のテーブルに、ロギング出力プログラム14のロードアドレスを連鎖する。すなわち、実行優先度制御部19は、ロギング出力プログラム14の実行優先度を下げることで、ロギング出力プログラム14の実行優先度をシステム制御プログラム13よりも低い通常の状態に移行させる。 For this reason, the memory management control unit 17 determines to change the priority as shown in FIG. Then, as shown in (V) in FIG. 8, the memory management control unit 17 notifies the execution priority control unit 19 of the execution priority 5 associated with the normal state. In such a case, the execution priority control unit 19 links the load address of the logging output program 14 to a table of execution priority 5 as shown in (W) of FIG. In other words, the execution priority control unit 19 shifts the execution priority of the logging output program 14 to a normal state lower than that of the system control program 13 by lowering the execution priority of the logging output program 14.
 このように、情報処理装置1は、ロギング出力プログラム14に割当てられたメモリ領域の割合が、所定の閾値よりも低くなった場合には、ロギング出力プログラム14の実行優先度を他のプログラムよりも低い実行優先度に更新する。このため、情報処理装置1は、ロギング情報21が出力され、メモリ20のメモリ領域に余裕が生じた場合には、ロギング出力プログラム14の実行優先度を下げる事ができる。この結果、情報処理装置1は、メモリ領域に余裕が存在する場合には、システム制御プログラム13等、ロギング出力プログラム14以外のプログラムの実行を優先させることができる。 As described above, when the ratio of the memory area allocated to the logging output program 14 is lower than the predetermined threshold, the information processing apparatus 1 sets the execution priority of the logging output program 14 over the other programs. Update to a lower execution priority. For this reason, the information processing apparatus 1 can lower the execution priority of the logging output program 14 when the logging information 21 is output and there is room in the memory area of the memory 20. As a result, the information processing apparatus 1 can prioritize the execution of programs other than the logging output program 14 such as the system control program 13 when there is room in the memory area.
[情報処理装置1の処理の流れ]
 次に、図9を用いて、情報処理装置1がディスパッチ管理テーブル16a、16bに従って、各プログラムを実行する処理の流れについて説明する。図9は、実施例1に係る情報処理装置がディスパッチ管理テーブルに従って実行する処理の流れの一例を説明するためのフローチャートである。
[Processing flow of information processing apparatus 1]
Next, the flow of processing in which the information processing apparatus 1 executes each program according to the dispatch management tables 16a and 16b will be described with reference to FIG. FIG. 9 is a flowchart for explaining an example of a flow of processing executed by the information processing apparatus according to the first embodiment according to the dispatch management table.
 図9に示す例では、情報処理装置1は、起動したことをトリガとして処理を開始する。まず、情報処理装置1は、システム単位のディスパッチ管理テーブル16aの読み込みを行う(ステップS101)。次に、情報処理装置1は、処理待ちプログラムが存在するか否かを判別する(ステップS102)。そして、情報処理装置1は、処理待ちプログラムが存在すると判別した場合には(ステップS102肯定)、処理待ちプログラムがプログラムグループ連鎖域に含まれるプログラムであるか否かを判別する(ステップS103)。すなわち、情報処理装置1は、処理待ちプログラムがプログラムグループ12が有するプログラムであるか否かを判別する。 In the example shown in FIG. 9, the information processing apparatus 1 starts processing with the activation as a trigger. First, the information processing apparatus 1 reads the dispatch management table 16a for each system (step S101). Next, the information processing apparatus 1 determines whether there is a process waiting program (step S102). If the information processing apparatus 1 determines that there is a program waiting for processing (Yes in step S102), the information processing apparatus 1 determines whether the program waiting for processing is a program included in the program group chain area (step S103). That is, the information processing apparatus 1 determines whether or not the processing waiting program is a program included in the program group 12.
 そして、情報処理装置1は、処理待ちプログラムがプログラムグループ連鎖域に含まれるプログラムではないと判別した場合には(ステップS103否定)、システム単位のディスパッチ管理テーブル16aに従って、プログラムを実行する(ステップS104)。一方、情報処理装置1は、処理待ちプログラムがプログラムグループ連鎖域に含まれるプログラムであると判別した場合には(ステップS103肯定)、プログラムグループ単位のディスパッチ管理テーブル16bの読み込みを行う(ステップS105)。 If the information processing apparatus 1 determines that the program waiting for processing is not a program included in the program group chain area (No at Step S103), the information processing apparatus 1 executes the program according to the dispatch management table 16a for each system (Step S104). ). On the other hand, when the information processing apparatus 1 determines that the program to be processed is a program included in the program group chain area (Yes at Step S103), the information processing apparatus 1 reads the dispatch management table 16b for each program group (Step S105). .
 そして、情報処理装置1は、再度処理待ちプログラムが存在するか否かを判別し(ステップS106)、処理待ちプログラムが存在すると判別した場合には(ステップS106肯定)、以下の処理を実行する。すなわち、情報処理装置1は、プログラムグループ単位のディスパッチ管理テーブル16bが示す実行優先度に従って、高い実行優先度のプログラムから実行する(ステップS107)。そして、情報処理装置1は、再度、処理待ちプログラムが存在するか否かを判別する(ステップS106)。 The information processing apparatus 1 determines again whether there is a program waiting for processing (step S106). If it is determined that there is a program waiting for processing (Yes in step S106), the information processing apparatus 1 executes the following processing. That is, the information processing apparatus 1 executes from a program having a high execution priority according to the execution priority indicated by the dispatch management table 16b in units of program groups (step S107). Then, the information processing apparatus 1 again determines whether there is a processing waiting program (step S106).
 一方、情報処理装置1は、処理待ちプログラムが存在しないと判別した場合には(ステップS106否定)、システム単位のディスパッチ管理テーブル16aの読み込みを行い(ステップS101)、処理待ちプログラムが存在するか判別する(ステップS102)。また、情報処理装置1は、ディスパッチ管理テーブル16aを読み込んだ状態で、処理待ちプログラムがないと判別した場合には(ステップS102否定)、処理を終了する。 On the other hand, if the information processing apparatus 1 determines that there is no processing waiting program (No in step S106), it reads the system-by-system dispatch management table 16a (step S101) and determines whether there is a processing waiting program. (Step S102). If the information processing apparatus 1 determines that there is no processing waiting program in the state in which the dispatch management table 16a is read (No in step S102), the information processing apparatus 1 ends the processing.
 次に、図10を用いて、メモリ管理制御部17が、ディスパッチ管理テーブル16を更新する処理の流れについて説明する。図10は、実施例1に係るディスパッチ管理テーブルを更新する処理の流れの一例を説明するためのフローチャートである。 Next, the flow of processing in which the memory management control unit 17 updates the dispatch management table 16 will be described with reference to FIG. FIG. 10 is a flowchart for explaining an example of a process flow for updating the dispatch management table according to the first embodiment.
 まず、メモリ管理制御部17は、メモリ領域の割当て要求、または、メモリ領域の解放要求を受付ける(ステップS201)。次に、メモリ管理制御部17は、メモリ領域の解放要求または割り当て要求がロギング出力プログラム14からの要求であるか否かを判別する(ステップS202)。そして、メモリ管理制御部17は、メモリ領域の解放要求または割り当て要求がロギング出力プログラム14からの要求であると判別した場合には(ステップS202肯定)、メモリ管理テーブル18を参照する(ステップS203)。 First, the memory management control unit 17 receives a memory area allocation request or a memory area release request (step S201). Next, the memory management control unit 17 determines whether or not the memory area release request or allocation request is a request from the logging output program 14 (step S202). When the memory management control unit 17 determines that the memory area release request or the allocation request is a request from the logging output program 14 (Yes in Step S202), the memory management control unit 17 refers to the memory management table 18 (Step S203). .
 また、メモリ管理制御部17は、ロギング出力プログラム14に割当てられたメモリ領域の量を識別し(ステップS204)、メモリ管理テーブル18から識別した量と対応した閾値を確認する(ステップS205)。次に、メモリ管理制御部17は、メモリ管理テーブル18に、該当する閾値が存在するか否かを判別し(ステップS206)、存在すると判別した場合には(ステップS206肯定)、該当する閾値と対応する実行優先度を取得する(ステップS207)。 Further, the memory management control unit 17 identifies the amount of the memory area allocated to the logging output program 14 (Step S204), and confirms the threshold corresponding to the identified amount from the memory management table 18 (Step S205). Next, the memory management control unit 17 determines whether or not the corresponding threshold exists in the memory management table 18 (step S206). If it is determined that it exists (Yes in step S206), The corresponding execution priority is acquired (step S207).
 一方、メモリ管理制御部17は、メモリ管理テーブル18に該当する閾値が存在しないと判別した場合には(ステップS206否定)、通常状態の実行優先度を取得する(ステップS208)。その後、メモリ管理制御部17は、取得した実行優先度が現在の実行優先度と異なるか否かを判別し(ステップS209)、異なると判別した場合には(ステップS209肯定)、以下の処理を実行する。すなわち、メモリ管理制御部17は、取得した実行優先度を、実行優先度制御部19に通知する(ステップS210)。また、メモリ管理制御部17は、現在の実行優先度として、取得した実行優先度をメモリ管理テーブル18に格納し(ステップS211)、処理を終了する。また、メモリ管理制御部17は、取得した実行優先度が現在の実行優先度と同じであると判別した場合には(ステップS209否定)、処理を終了する。また、メモリ管理制御部17は、メモリ領域の解放要求または割り当て要求がロギング出力プログラム14からの要求ではないと判別した場合には(ステップS202否定)、ディスパッチ管理テーブルを更新せずに、処理を終了する。 On the other hand, if it is determined that there is no threshold corresponding to the memory management table 18 (No at Step S206), the memory management control unit 17 acquires the execution priority in the normal state (Step S208). Thereafter, the memory management control unit 17 determines whether or not the acquired execution priority is different from the current execution priority (step S209). If it is determined that the execution priority is different (Yes in step S209), the following processing is performed. Execute. That is, the memory management control unit 17 notifies the execution priority control unit 19 of the acquired execution priority (step S210). Further, the memory management control unit 17 stores the acquired execution priority as the current execution priority in the memory management table 18 (step S211), and ends the process. If the memory management control unit 17 determines that the acquired execution priority is the same as the current execution priority (No at step S209), the memory management control unit 17 ends the process. If the memory management control unit 17 determines that the memory area release request or allocation request is not a request from the logging output program 14 (No in step S202), the memory management control unit 17 performs the process without updating the dispatch management table. finish.
[実施例1の効果]
 上述したように、情報処理装置1は、各プログラムのロードアドレスと、各プログラムを実行する実行優先度とを対応付けて記憶するディスパッチ管理テーブル16に従って、各プログラムを実行する。また、情報処理装置1は、ロギング出力プログラム14に対して割当てられたメモリ領域の量を識別する。そして、情報処理装置1は、識別したメモリ領域の量が、所定の閾値よりも多いと判別した場合には、ディスパッチ管理テーブル16に、ロギング出力プログラム14と対応付けて記憶された実行優先度を向上させる。
[Effect of Example 1]
As described above, the information processing apparatus 1 executes each program according to the dispatch management table 16 that stores the load address of each program and the execution priority for executing each program in association with each other. Further, the information processing apparatus 1 identifies the amount of memory area allocated to the logging output program 14. When the information processing apparatus 1 determines that the amount of the identified memory area is larger than the predetermined threshold, the information processing apparatus 1 sets the execution priority stored in the dispatch management table 16 in association with the logging output program 14. Improve.
 このため、情報処理装置1は、メモリ資源の不足を防ぐとともに、ロギング情報21を欠損させることなく、ログファイル31に出力することができる。すなわち、情報処理装置1は、メモリが不足しそうな場合には、ロギング出力プログラム14をシステム制御プログラム13を初めとする他のプログラムよりも優先して動作させる。このため、情報処理装置1は、ロギング情報21がメモリ20に溜まった際のメモリ資源の遅延を回避することができる。また、情報処理装置1は、稼働率の低いプログラムのロギング情報も、円滑に出力することができる。 For this reason, the information processing apparatus 1 can output the log information 31 to the log file 31 without losing the logging information 21 while preventing a shortage of memory resources. That is, the information processing apparatus 1 operates the logging output program 14 with priority over other programs such as the system control program 13 when memory is likely to be insufficient. For this reason, the information processing apparatus 1 can avoid a delay in memory resources when the logging information 21 is accumulated in the memory 20. Further, the information processing apparatus 1 can smoothly output logging information of a program having a low operation rate.
 また、情報処理装置1は、OS11のうち、ディスパッチ制御、メモリ管理制御、実行優先度制御に関わる部分を変更するだけで、システム制御プログラム13やロギング出力プログラム14等の各プログラムの修正を行わずに自動的に性能チューニングを行える。すなわち、情報処理装置1は、OS11のディスパッチ制御、メモリ管理制御、実行優先度制御に関わる部分を変更するだけで他の各プログラムについての修正を行わずとも、ロギング出力プログラム14の実行優先度を適切に更新することができる。この結果、メモリの不足を防止しつつ、全てのロギング情報21を採取し続けるOS11を容易に提供することができる。 Further, the information processing apparatus 1 does not modify each program such as the system control program 13 and the logging output program 14 only by changing the part related to dispatch control, memory management control, and execution priority control in the OS 11. Performance tuning can be performed automatically. In other words, the information processing apparatus 1 can change the execution priority of the logging output program 14 by changing only the parts related to the dispatch control, memory management control, and execution priority control of the OS 11 and without modifying other programs. Can be updated appropriately. As a result, it is possible to easily provide the OS 11 that keeps collecting all the logging information 21 while preventing a memory shortage.
 また、情報処理装置1は、優先度に関する階層構造を有するディスパッチ管理テーブル16a、16bを有する。そして、情報処理装置1は、ロギング出力プログラム14に割当てられたメモリ領域の量が所定の閾値よりも多い場合には、ログ出力プログラムの実行優先度を、同一のディスパッチ管理テーブルの中で、他のプログラムの実行優先度よりも高い値に更新する。このため、情報処理装置1は、上位階層のディスパッチ管理テーブルによって優先度が管理されている各プログラムの実行に対して、影響を及ぼすことなく、ログ出力プログラムを優先的に実行することができる。 In addition, the information processing apparatus 1 includes dispatch management tables 16a and 16b having a hierarchical structure related to priority. When the amount of memory area allocated to the logging output program 14 is larger than a predetermined threshold, the information processing apparatus 1 sets the execution priority of the log output program to another in the same dispatch management table. Update to a value higher than the execution priority of the program. Therefore, the information processing apparatus 1 can preferentially execute the log output program without affecting the execution of each program whose priority is managed by the dispatch management table in the upper hierarchy.
 すなわち、情報処理装置1は、処理待ちプログラムを有するプログラムグループ単位のディスパッチ管理テーブルの中で、ロギング出力プログラム14の優先度を変更する。このため、情報処理装置1は、情報処理装置1の基幹的なプログラムや、優先度を変更したくないプログラム等に影響を及ぼすことなく、実行優先度を更新することができる。 That is, the information processing apparatus 1 changes the priority of the logging output program 14 in the dispatch management table for each program group having the processing waiting program. For this reason, the information processing apparatus 1 can update the execution priority without affecting the basic program of the information processing apparatus 1 or the program whose priority is not desired to be changed.
 また、情報処理装置1は、ロギング出力プログラム14に割当てられたメモリ領域の量が所定の閾値よりも少ない場合には、ログ出力プログラムの実行優先度を、他のプログラムの実行優先度よりも低い値、すなわち、元の実行優先度に更新する。このため、情報処理装置1は、システム全体として最も効率的な実行優先度を動的に設定することができる。 Further, when the amount of the memory area allocated to the logging output program 14 is smaller than a predetermined threshold, the information processing apparatus 1 sets the execution priority of the log output program lower than the execution priority of other programs. Update to the value, ie, the original execution priority. For this reason, the information processing apparatus 1 can dynamically set the most efficient execution priority as the entire system.
 また、情報処理装置1は、第1の閾値、および、第2の閾値とロギング出力プログラム14に割当てられたメモリ領域の割合が大きいか否かに基づいて、ロギング出力プログラム14の実行優先度を更新する。このため、情報処理装置1は、ロギング出力プログラム14の実行優先度を、より適切に更新することができる。 Further, the information processing apparatus 1 determines the execution priority of the logging output program 14 based on whether the ratio of the memory area allocated to the first threshold and the second threshold and the logging output program 14 is large. Update. For this reason, the information processing apparatus 1 can update the execution priority of the logging output program 14 more appropriately.
 また、情報処理装置1は、ロギング出力プログラム14に割当てられたメモリ領域の量の範囲ごとに、実行優先度を記憶するメモリ管理テーブル18を有する。そして、情報処理装置1は、ロギング出力プログラム14に割当てられたメモリ領域の量が、いずれの閾値の範囲内に収まるかに基づいて、ロギング出力プログラム14の実行優先度を変更する。このため、情報処理装置1は、ロギング出力プログラム14の実行優先度をきめ細かく変更し、最も効率的な実行優先度を設定することができる。 In addition, the information processing apparatus 1 has a memory management table 18 that stores the execution priority for each range of the amount of memory area allocated to the logging output program 14. Then, the information processing apparatus 1 changes the execution priority of the logging output program 14 based on which threshold range the amount of memory area allocated to the logging output program 14 falls within. For this reason, the information processing apparatus 1 can finely change the execution priority of the logging output program 14 and set the most efficient execution priority.
 これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例2として本発明に含まれる他の実施例を説明する。 Although the embodiments of the present invention have been described so far, the embodiments may be implemented in various different forms other than the embodiments described above. Therefore, another embodiment included in the present invention will be described below as a second embodiment.
(1)ディスパッチ管理テーブルについて
 上述した実施例1では、システム単位のディスパッチ管理テーブル16aと、プログラムグループ単位のディスパッチ管理テーブル16bとを説明した。しかし、実施例は、これに限定されるものではない。すなわち、プログラムグループ単位のディスパッチ管理テーブル16bは、情報処理装置1がプログラムグループごとに記憶するディスパッチ管理テーブル16bである。例えば、情報処理装置1は、3つのプログラムグループを有する場合には、各プログラムグループごとに実行優先度を設定したプログラムグループ単位のディスパッチ管理テーブルを3つ有することとなる。
(1) Dispatch Management Table In the first embodiment described above, the system-by-system dispatch management table 16a and the program group-by-program group dispatch management table 16b have been described. However, the embodiment is not limited to this. That is, the program group unit dispatch management table 16b is the dispatch management table 16b stored in the information processing apparatus 1 for each program group. For example, when the information processing apparatus 1 has three program groups, the information processing apparatus 1 has three dispatch management tables for each program group in which execution priority is set for each program group.
 また、実施例1では、ディスパッチ管理テーブル16は、プログラムグループ連鎖域のフラグとして「●」を記憶することとした。しかし、実施例は、これに限定されるものではなく、情報処理装置1が参照すべきプログラムグループ単位のディスパッチ管理テーブルを識別するための情報であるならば、任意の情報をフラグとして採用することができる。 In the first embodiment, the dispatch management table 16 stores “●” as the flag of the program group chain area. However, the embodiment is not limited to this, and any information can be used as a flag as long as it is information for identifying a dispatch management table in units of program groups to be referred to by the information processing apparatus 1. Can do.
(2)メモリ管理テーブルについて
 上述したメモリ管理テーブル18は、閾値として、ロギング出力プログラム14に割当てられたメモリ領域の割合を記憶していた。しかし、実施例はこれに限定されるものではなく、例えば、ロギング出力プログラム14に割当てられたメモリ領域の容量を閾値としてもよい。また、メモリ管理テーブル18に記憶される各閾値は、システムごとに固定で設定してもよい。また、メモリ管理テーブル18に記憶される各閾値は、システム管理者が自由に設定することができるようにしてもよい。
(2) Memory Management Table The memory management table 18 described above stores the ratio of the memory area allocated to the logging output program 14 as a threshold value. However, the embodiment is not limited to this, and for example, the capacity of the memory area allocated to the logging output program 14 may be used as the threshold value. Each threshold value stored in the memory management table 18 may be fixed for each system. Each threshold value stored in the memory management table 18 may be freely set by a system administrator.
(3)プログラム
 ところで、実施例1に係る情報処理装置1は、ハードウェアにより実現される処理を説明した。しかし、実施例はこれに限定されるものではなく、あらかじめ用意されたプログラムをコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図11を用いて、実施例1に示した情報処理装置1と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。
(3) Program By the way, the information processor 1 concerning Example 1 explained processing realized by hardware. However, the embodiment is not limited to this, and may be realized by executing a program prepared in advance by a computer. In the following, an example of a computer that executes a program having the same function as that of the information processing apparatus 1 shown in the first embodiment will be described with reference to FIG.
 図11は、管理プログラムを実行するコンピュータの一例を説明するための図である。図11に例示されたコンピュータ100は、ROM(Read Only Memory)110、HDD(Hard Disk Drive)120、RAM(Random Access Memory)130、CPU(Central Processing Unit)140、I/O(Input Output)150がバス170で接続される。 FIG. 11 is a diagram for explaining an example of a computer that executes a management program. The computer 100 illustrated in FIG. 11 includes a ROM (Read Only Memory) 110, an HDD (Hard Disk Drive) 120, a RAM (Random Access Memory) 130, a CPU (Central Processing Unit) 140, and an I / O (Input Output) 150. Are connected by a bus 170.
 RAM130には、管理プログラム131があらかじめ記憶されている。CPU140は、管理プログラム131を読み出して実行することによって、図11に示す例では、管理プログラム131は、管理プロセス141として動作するようになる。なお、管理プロセス141は、情報処理装置1と同様の機能を発揮する。 The RAM 130 stores a management program 131 in advance. The CPU 140 reads and executes the management program 131, so that the management program 131 operates as the management process 141 in the example shown in FIG. The management process 141 exhibits the same function as the information processing apparatus 1.
 なお、本実施例で説明した管理プログラムは、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM(Compact Disc Read Only Memory)、MO(Magneto Optical Disc)、DVD(Digital Versatile Disc)などのコンピュータで読取可能な記録媒体に記録される。また、このプログラムは、コンピュータによって記録媒体から読み出されることによって実行することもできる。 The management program described in the present embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. This program can be distributed via a network such as the Internet. This program is recorded on a computer-readable recording medium such as a hard disk, flexible disk (FD), CD-ROM (Compact Disc Read Only Memory), MO (Magneto Optical Disc), DVD (Digital Versatile Disc). The The program can also be executed by being read from a recording medium by a computer.
 1、40 情報処理装置
 10、41 CPU(Central Processing Unit)
 11、42 OS(Operating System)
 12 プログラムグループ
 13、45 システム制御プログラム
 14、46 ロギング出力プログラム
 15、43 ディスパッチ制御部
 16、16a、16b、44 ディスパッチ管理テーブル
 17 メモリ管理制御部
 18 メモリ管理テーブル
 19 実行優先度制御部
 20、47 メモリ
 21 ロギング情報
 30、49 HDD
 31、50 ログファイル
 48、48a ロギング情報
1, 40 Information processing device 10, 41 CPU (Central Processing Unit)
11, 42 OS (Operating System)
12 Program group 13, 45 System control program 14, 46 Logging output program 15, 43 Dispatch control unit 16, 16a, 16b, 44 Dispatch management table 17 Memory management control unit 18 Memory management table 19 Execution priority control unit 20, 47 Memory 21 Logging information 30, 49 HDD
31, 50 Log file 48, 48a Logging information

Claims (7)

  1.  複数のプログラムと、各プログラムを実行する優先度との対応関係を示す優先度情報に従って、各プログラムを実行する情報処理装置であって、
     各プログラムのログ情報をメモリから記憶装置に出力するログ出力プログラムに対して割当てられたメモリ領域の量を識別する識別部と、
     前記識別部によって識別されたメモリ領域の量が、閾値よりも多いか否かを判別する判別部と、
     前記メモリ領域の量が閾値よりも多いと前記判別部が判別した場合には、前記優先度情報において前記ログ出力プログラムと対応付けられた優先度を他のプログラムの優先度よりも高く更新する更新部と、
     を有することを特徴とする情報処理装置。
    An information processing apparatus that executes each program according to priority information indicating a correspondence relationship between a plurality of programs and the priority of executing each program,
    An identification unit for identifying an amount of a memory area allocated to a log output program that outputs log information of each program from a memory to a storage device;
    A determination unit for determining whether or not the amount of the memory area identified by the identification unit is greater than a threshold;
    Update that updates the priority associated with the log output program in the priority information higher than the priority of other programs when the determination unit determines that the amount of the memory area is greater than a threshold value And
    An information processing apparatus comprising:
  2.  前記優先度情報は優先度毎に階層化された階層構造を有し、前記情報処理装置は、前記優先度情報の階層ごとに各プログラムを実行し、
     前記更新部は、前記判別部が、前記領域が閾値よりも多いと判別した場合、前記ログ出力プログラムの優先度が記憶された階層に他のプログラムの優先度も記憶されているときには、当該ログ出力プログラムの優先度を前記他のプログラムの優先度よりも高く更新することを特徴とする請求項1に記載の情報処理装置。
    The priority information has a hierarchical structure hierarchized for each priority, and the information processing apparatus executes each program for each hierarchy of the priority information,
    When the determination unit determines that the area is greater than the threshold, the update unit determines that the log output program has a priority stored in the hierarchy in which the priority of the log output program is stored. The information processing apparatus according to claim 1, wherein the priority of the output program is updated to be higher than the priority of the other program.
  3.  前記更新部は、前記識別部によって識別されたメモリ領域の量が閾値よりも少ないと判別した場合には、前記優先度情報において前記ログ出力プログラムと対応付けられた優先度を前記他のプログラムの優先度よりも低く更新することを特徴とする請求項1または2に記載の情報処理装置。 If the updating unit determines that the amount of the memory area identified by the identifying unit is less than a threshold value, the updating unit assigns the priority associated with the log output program in the priority information to the other program. The information processing apparatus according to claim 1, wherein the information processing apparatus is updated to be lower than the priority.
  4.  前記判別部は、前記識別部によって識別されたメモリ領域の量が、第1の閾値よりも多いか否かを判別し、前記メモリ領域の量が該第1の閾値よりも少ないと判別した場合には、該メモリ領域の量が、前記第1の閾値よりも小さい第2の閾値よりも多いか否かを判別し、
     前記更新部は、前記判別部が、前記メモリ領域の量が前記第1の閾値よりも多いと判別した場合には、前記ログ出力プログラムと対応付けて記憶された優先度を最も高く更新し、前記メモリ領域の量が前記第1閾値よりも少なく前記第2の閾値よりも多いと判別した場合には、前記ログ出力プログラムと対応付けて記憶された優先度を2番目に高く更新することを特徴とする請求項1または2に記載の情報処理装置。
    When the determination unit determines whether the amount of the memory area identified by the identification unit is greater than a first threshold, and determines that the amount of the memory area is smaller than the first threshold Determining whether or not the amount of the memory area is larger than a second threshold value smaller than the first threshold value;
    When the determination unit determines that the amount of the memory area is greater than the first threshold, the update unit updates the priority stored in association with the log output program to the highest level, When it is determined that the amount of the memory area is smaller than the first threshold and larger than the second threshold, the priority stored in association with the log output program is updated to the second highest. The information processing apparatus according to claim 1 or 2, characterized in that
  5.  前記情報処理装置は、前記ログ出力プログラムに割当てられたメモリ領域の量の範囲ごとに前記ログ出力プログラムの優先度を記憶する管理情報を有し、
     前記判別部は、前記識別部が識別したメモリ領域の量に応じた前記ログ出力プログラムの優先度を前記管理情報から取得し、前記優先度情報に前記ログ出力プログラムと対応付けて記憶された優先度を前記管理情報から取得した優先度に更新することを特徴とする請求項1または2に記載の情報処理装置。
    The information processing apparatus has management information for storing the priority of the log output program for each range of the amount of memory area allocated to the log output program,
    The determination unit obtains the priority of the log output program according to the amount of the memory area identified by the identification unit from the management information, and the priority stored in association with the log output program in the priority information The information processing apparatus according to claim 1, wherein the degree is updated to a priority acquired from the management information.
  6.  複数のプログラムと、各プログラム実行する優先度との対応関係を示す優先度情報に従って、各プログラムを実行する情報処理装置によって実行される管理プログラムであって、
     各プログラムのログ情報をメモリから記憶装置に出力するログ出力プログラムに対して割当てられたメモリ領域の量を識別し、
     前記識別したメモリ領域の量が、閾値よりも多いか否かを判別し、
     前記メモリ領域の量が閾値よりも多いと判別した場合には、前記優先度情報において前記ログ出力プログラムと対応付けられた優先度を他のプログラムの優先度よりも高く更新する
     処理を前記情報処理装置に実行させることを特徴とする管理プログラム。
    A management program that is executed by an information processing apparatus that executes each program according to priority information indicating a correspondence relationship between a plurality of programs and the priority of executing each program,
    Identify the amount of memory space allocated to the log output program that outputs log information for each program from memory to the storage device,
    Determining whether the amount of the identified memory area is greater than a threshold;
    When it is determined that the amount of the memory area is larger than a threshold, the priority information associated with the log output program in the priority information is updated to be higher than the priority of other programs. A management program that is executed by a device.
  7.  複数のプログラムと、各プログラム実行する優先度との対応関係を示す優先度情報に従って、各プログラムを実行する情報処理装置によって実行される管理方法であって、
     各プログラムのログ情報をメモリから記憶装置に出力するログ出力プログラムに対して割当てられたメモリ領域の量を識別し、
     前記識別したメモリ領域の量が、閾値よりも多いか否かを判別し、
     前記メモリ領域の量が閾値よりも多いと判別した場合には、前記優先度情報において前記ログ出力プログラムと対応付けられた優先度を他のプログラムの優先度よりも高く更新する
     処理を実行することを特徴とする管理方法。
    A management method executed by an information processing apparatus that executes each program according to priority information indicating a correspondence relationship between a plurality of programs and the priority of executing each program,
    Identify the amount of memory space allocated to the log output program that outputs log information for each program from memory to the storage device,
    Determining whether the amount of the identified memory area is greater than a threshold;
    When it is determined that the amount of the memory area is larger than the threshold value, a process of updating the priority associated with the log output program in the priority information higher than the priority of another program is executed. Management method characterized by.
PCT/JP2011/064819 2011-06-28 2011-06-28 Information processing device, management program and management method WO2013001607A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/064819 WO2013001607A1 (en) 2011-06-28 2011-06-28 Information processing device, management program and management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/064819 WO2013001607A1 (en) 2011-06-28 2011-06-28 Information processing device, management program and management method

Publications (1)

Publication Number Publication Date
WO2013001607A1 true WO2013001607A1 (en) 2013-01-03

Family

ID=47423551

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/064819 WO2013001607A1 (en) 2011-06-28 2011-06-28 Information processing device, management program and management method

Country Status (1)

Country Link
WO (1) WO2013001607A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017102647A (en) * 2015-12-01 2017-06-08 富士通株式会社 Information processing apparatus, information processing program, and information processing method
CN111796770A (en) * 2020-06-30 2020-10-20 中国工商银行股份有限公司 Log routing load balancing implementation method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH064364A (en) * 1992-06-19 1994-01-14 Matsushita Electric Works Ltd Cpu operation recording system
JPH06250928A (en) * 1993-02-24 1994-09-09 Matsushita Electric Ind Co Ltd Information processor
JP2000293386A (en) * 1999-04-12 2000-10-20 Hitachi Ltd Memory management system
JP2004062463A (en) * 2002-07-26 2004-02-26 Matsushita Electric Ind Co Ltd Program execution device
JP2007299126A (en) * 2006-04-28 2007-11-15 Mitsubishi Electric Corp Controller and program for controller

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH064364A (en) * 1992-06-19 1994-01-14 Matsushita Electric Works Ltd Cpu operation recording system
JPH06250928A (en) * 1993-02-24 1994-09-09 Matsushita Electric Ind Co Ltd Information processor
JP2000293386A (en) * 1999-04-12 2000-10-20 Hitachi Ltd Memory management system
JP2004062463A (en) * 2002-07-26 2004-02-26 Matsushita Electric Ind Co Ltd Program execution device
JP2007299126A (en) * 2006-04-28 2007-11-15 Mitsubishi Electric Corp Controller and program for controller

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017102647A (en) * 2015-12-01 2017-06-08 富士通株式会社 Information processing apparatus, information processing program, and information processing method
CN111796770A (en) * 2020-06-30 2020-10-20 中国工商银行股份有限公司 Log routing load balancing implementation method and device
CN111796770B (en) * 2020-06-30 2024-02-27 中国工商银行股份有限公司 Log routing load balancing realization method and device

Similar Documents

Publication Publication Date Title
JP7138126B2 (en) Timeliness resource migration to optimize resource placement
JP5040773B2 (en) Memory buffer allocation device and program
US9182923B2 (en) Controlling throughput of processing units associated with different load types in storage system
US11003497B2 (en) Managing resource allocation in hierarchical quota system
JP6412244B2 (en) Dynamic integration based on load
EP2698711A1 (en) Method for dispatching central processing unit of hotspot domain virtual machine and virtual machine system
KR101694518B1 (en) System and method for virtual machine placement and management on cluster system
JP2006350780A (en) Cache allocation control method
CN108228482B (en) Method and system for managing cache devices in a storage system
KR20130019698A (en) Method for optimizing resource by using migration based on user's scheduler
US20150220559A1 (en) Scalable File System
US9934147B1 (en) Content-aware storage tiering techniques within a job scheduling system
US10761726B2 (en) Resource fairness control in distributed storage systems using congestion data
CN105516267A (en) Efficient operation method for cloud platform
WO2013001607A1 (en) Information processing device, management program and management method
CN113031857B (en) Data writing method, device, server and storage medium
JP5471292B2 (en) Virtual machine movement control program, virtual machine movement control device, and virtual machine movement control method
JP7221585B2 (en) Information processing device, information processing system, information processing device control method, and information processing device control program
JP2012221217A (en) Memory management device, memory management method, and control program
KR20160043706A (en) Virtual machine scaling apparatus and method for thereof
JP5612223B1 (en) Storage system, storage apparatus control method and program
Liu et al. Towards deadline guaranteed cloud storage services
KR102319718B1 (en) Dynamic many-core partitioning apparatus and method
JP2017156894A (en) Virtual machine management device, system, and virtual machine management method
Chum et al. SLA-Aware Adaptive Mapping Scheme in Bigdata Distributed Storage Systems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11868737

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11868737

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP