CN112269536A - Method and device for optimizing storage software system and computer readable storage medium - Google Patents
Method and device for optimizing storage software system and computer readable storage medium Download PDFInfo
- Publication number
- CN112269536A CN112269536A CN202011110346.9A CN202011110346A CN112269536A CN 112269536 A CN112269536 A CN 112269536A CN 202011110346 A CN202011110346 A CN 202011110346A CN 112269536 A CN112269536 A CN 112269536A
- Authority
- CN
- China
- Prior art keywords
- kernel
- information
- scheduling
- tracking
- switching
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 233
- 230000008569 process Effects 0.000 claims abstract description 173
- 238000013507 mapping Methods 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims description 17
- 238000012544 monitoring process Methods 0.000 claims description 9
- 230000000007 visual effect Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012800 visualization Methods 0.000 claims 2
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 239000000243 solution Substances 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
Abstract
The application discloses a method and a device for optimizing a storage software system and a computer readable storage medium. The method comprises the steps of constructing a kernel tracking thread in advance; and the kernel tracking thread monitors the kernel process scheduling information in the form of an embedded system driving module. Calling a kernel tracking thread to capture preset type data information in each switching process of a system calling process, a current process and a process to be scheduled at a kernel scheduling node, and writing the preset type data information as scheduling tracking information into a tracking log of a kernel space; the preset type data information is an index reflecting the process scheduling task consumption and a numerical value thereof. When receiving the scheduling tracking information accessed by the memory mapping method realized by the user mode program through the embedded system drive, and sending the scheduling tracking information to the user space, the user mode can visually observe the key information of each system call and kernel process switching, thereby pertinently optimizing the high-consumption task.
Description
Technical Field
The present application relates to the field of storage technologies, and in particular, to a method and an apparatus for tuning a storage software system, and a computer-readable storage medium.
Background
With the rapid development of computer technology, data is explosively increased, the data storage requirement is higher and higher, and a storage software system is optimized to be an indispensable operation for guaranteeing the performance of storage equipment.
Tuning of a storage software system is a complex project and relates to a plurality of elements such as hardware, software, configuration strategies and the like. Tuning means for the software layer are commonly included: log injection, key point monitoring, open source auxiliary tools and the like, but the user states cannot be observed visually by the adjusting and optimizing means, so that the high-consumption task cannot be optimized in a targeted manner.
Disclosure of Invention
The application provides a method and a device for tuning a storage software system and a computer readable storage medium, wherein a user mode can visually observe key information of each system call and kernel process switching, and a high-consumption task is optimized in a targeted manner.
In order to solve the above technical problems, embodiments of the present invention provide the following technical solutions:
one aspect of the embodiments of the present invention provides a method for tuning a storage software system, including:
pre-constructing a kernel tracking thread; the kernel tracking thread monitors kernel process scheduling information in a form of an embedded system driving module;
calling the kernel tracking thread to capture preset type data information in each switching process of the system calling process, the current process and the process to be scheduled at a kernel scheduling node so as to serve as scheduling tracking information to be written into a tracking log of a kernel space; the preset type data information is an index reflecting the consumption of a process scheduling task and a numerical value thereof;
and when receiving a memory mapping method realized by a user mode program through an embedded system drive to access the scheduling tracking information, sending the scheduling tracking information to a user space.
Optionally, the step of calling the kernel tracking thread to capture preset type data information in each switching process of the system calling process, the current process and the process to be scheduled at the kernel scheduling node is as follows:
calling the kernel tracking thread to capture the running time, idle time, virtual running time, CPU (central processing unit) kernel, process identification and weight of each system calling process at a kernel scheduling node;
and calling the kernel tracking thread to capture the running time, idle time, virtual running time, CPU (central processing unit) kernel, process identification, weight and process information before and after switching in the process of switching the current process and the process to be scheduled at the kernel scheduling node.
Optionally, the sending the scheduling tracking information to the user space includes:
displaying the calling time, the running time, the idle time, the CPU core, the process identification and the weight in each system calling process in a preset time period to the user space in a list form through a visual interface; and switching time, running time, idle time, virtual running time, CPU core, process identification, weight and process information before and after switching in the switching process of the current process and the process to be scheduled.
Optionally, after the kernel tracking thread is pre-constructed, the method further includes:
setting a virtual memory area exception handling method aiming at a memory mapping area in advance;
and when the linear address triggering the abnormity is detected to be in the virtual memory area of the user space and the corresponding physical page is not allocated, allocating the physical page for the current process to realize the autonomous control memory mapping.
Another aspect of the embodiments of the present invention provides a tuning apparatus for a storage software system, including:
the kernel tracking thread building module is used for building a kernel tracking thread in advance; the kernel tracking thread monitors kernel process scheduling information in a form of an embedded system driving module;
the key information capturing module is used for calling the kernel tracking thread to capture preset type data information in each switching process of the system calling process, the current process and the process to be scheduled at a kernel scheduling node so as to serve as scheduling tracking information to be written into a tracking log of a kernel space; the preset type data information is an index reflecting the consumption of a process scheduling task and a numerical value thereof;
and the kernel space monitoring information acquisition module is used for accessing the scheduling tracking information by a memory mapping method realized by a user mode program through an embedded system driver when receiving the scheduling tracking information and sending the scheduling tracking information to the user space.
Optionally, the key information capturing module includes:
the calling information capturing submodule is used for calling the kernel tracking thread to capture the running time, idle time, virtual running time, CPU (central processing unit) kernel, process identification and weight of each system calling process at a kernel scheduling node;
and the process switching information capturing submodule is used for calling the kernel tracking thread to capture the running time, the idle time, the virtual running time, the CPU core, the process identification, the weight and the process information before and after switching in the process of switching the current process and the process to be scheduled at the kernel scheduling node.
Optionally, the module for acquiring kernel space monitoring information by the user includes a visual display sub-module, configured to display, in a list form, a call time, a run time, an idle time, a CPU core, a process identifier, and a weight in each system call process in a preset time period to the user space through a visual interface; and switching time, running time, idle time, virtual running time, CPU core, process identification, weight and process information before and after switching in the switching process of the current process and the process to be scheduled.
Optionally, the method further includes:
the memory mapping active control module is used for setting a virtual memory area exception handling method aiming at the memory mapping area in advance; and when the linear address triggering the abnormity is detected to be in the virtual memory area of the user space and the corresponding physical page is not allocated, allocating the physical page for the current process to realize the autonomous control memory mapping.
The embodiment of the present invention further provides a device for tuning a storage software system, which includes a processor, where the processor is configured to implement the steps of the method for tuning a storage software system according to any one of the foregoing descriptions when executing the computer program stored in the memory.
Finally, an embodiment of the present invention provides a computer-readable storage medium, where a stored software system tuning program is stored on the computer-readable storage medium, and when the stored software system tuning program is executed by a processor, the steps of the stored software system tuning method are implemented as in any one of the foregoing.
The technical scheme provided by the application has the advantages that the information required to be captured can be flexibly defined by customizing the kernel tracking thread, each kernel process scheduling information used for feeding back task consumption is captured in real time, each index of process scheduling is visually quantized, the kernel scheduling details are monitored by a user mode program in real time, the key information of each system call and kernel process switching is visually observed by the user mode, the real-time condition of the system software running stage can be directly observed by the user mode driver, the consumption of each stage caused by the process scheduling is monitored and quantized, therefore, the software logic of the consumption time point can be judged, a quantitative and effective evaluation means is provided for system performance optimization, high-consumption tasks can be rapidly positioned, and targeted optimization is carried out. In addition, the interaction between the user mode and the kernel mode is realized through a low-consumption mode of memory mapping, and high-efficiency communication is realized.
In addition, the embodiment of the invention also provides a corresponding implementation device and a computer readable storage medium for the tuning method of the storage software system, so that the method has higher practicability, and the device and the computer readable storage medium have corresponding advantages.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions of the related art, the drawings required to be used in the description of the embodiments or the related art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts.
Fig. 1 is a schematic flowchart of a tuning method for a storage software system according to an embodiment of the present invention;
FIG. 2 is a schematic diagram illustrating kernel tracking thread registration and mapping according to an embodiment of the present invention;
FIG. 3 is a schematic diagram illustrating the operating principle of kernel trace threads according to an embodiment of the present invention;
fig. 4 is a structural diagram of an embodiment of a tuning apparatus for a storage software system according to an embodiment of the present invention;
fig. 5 is a block diagram of another embodiment of a tuning apparatus for a storage software system according to an embodiment of the present invention.
Detailed Description
In order that those skilled in the art will better understand the disclosure, the invention will be described in further detail with reference to the accompanying drawings and specific embodiments. It is to be understood that the described embodiments are merely exemplary of the invention, and not restrictive of the full scope of the invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The terms "first," "second," "third," "fourth," and the like in the description and claims of this application and in the above-described drawings are used for distinguishing between different objects and not for describing a particular order. Furthermore, the terms "comprising" and "having," as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those steps or elements but may include other steps or elements not expressly listed.
Having described the technical solutions of the embodiments of the present invention, various non-limiting embodiments of the present application are described in detail below.
Referring to fig. 1, fig. 1 is a schematic flow chart of a tuning method for a storage software system according to an embodiment of the present invention, where the embodiment of the present invention may include the following:
s101: a kernel tracking thread is pre-constructed.
In the present application, a kernel tracking thread is built in a kernel space, which monitors kernel process scheduling information in the form of an embedded system driver module. After the kernel tracking thread is constructed, the kernel tracking thread needs to register with an operating system in a kernel space, and correspondingly constructs a module for storing monitoring information thereof, such as the self-owned kernel module working in the kernel space shown in fig. 2, and the self-owned kernel module interacts with a user space in a memory mapping manner, so that scheduling tracking information captured by the kernel tracking thread is used by a user under the drive of a user state. In combination with fig. 2 and fig. 3, that is, the customized kernel trace thread is realized by a form of an embedded system driver module and a customized process scheduling trace interface, so that a hook key interface can be hooked at a time point when an operating system OS performs process scheduling, process switching information focused on can be captured, and the trace log can be finally presented to a user mode driver for use.
S102: and calling the kernel tracking thread to capture preset type data information in each switching process of the system calling process, the current process and the process to be scheduled at the kernel scheduling node so as to serve as scheduling tracking information to be written into a tracking log of a kernel space.
The preset type data information is an index reflecting the consumption of a process scheduling task and a numerical value thereof, and the working state of a task scheduling subsystem in the memory space operating system is monitored in real time through the kernel tracking thread to monitor in real time and capture key information in the switching process between the current process and the process to be scheduled, wherein the process is called each time, and the key information is captured by the kernel scheduling node. A person skilled in the art can select a required index according to actual conditions, namely the preset type data information is flexibly set, and the use experience of a user is improved. The preset type data information may include, but is not limited to, key information such as a process identifier pid, a running time, an idle time, a virtual running time vruntime, and the like, and in combination with the foregoing discussion, the user mode driver may directly observe a real-time status of the system software running stage, and finally provide important reference data for system performance tuning.
S103: and when receiving the scheduling tracking information accessed by the user mode program through a memory mapping method driven by the embedded system, sending the scheduling tracking information to the user space.
According to the method, data interaction is carried out between the user mode and the kernel mode, namely the user mode and the kernel mode, in a memory mapping mode, the memory mapping mode is low in consumption, efficient communication between the user mode and the kernel mode can be achieved, and the user mode can acquire scheduling tracking information more quickly and efficiently, so that effective reference is provided for performance tuning of a storage system.
In the technical scheme provided by the embodiment of the invention, the kernel tracking thread is defined by user, the information required to be captured can be flexibly defined, each kernel process scheduling information used for feeding back task consumption is captured in real time, each index of process scheduling is intuitively quantized, a user mode program monitors kernel scheduling details in real time, the user mode intuitively observes key information of each system call and kernel process switching, the user mode drive can directly observe the real-time condition of the system software operation stage, and the consumption of each stage caused by process scheduling is monitored and quantized, so that the software logic of the consumption time point can be judged, a quantized and effective evaluation means is provided for system performance optimization, high-consumption tasks can be rapidly positioned, and targeted optimization is carried out. In addition, the interaction between the user mode and the kernel mode is realized through a low-consumption mode of memory mapping, and high-efficiency communication is realized.
It should be noted that, in the present application, there is no strict sequential execution order among the steps, and as long as the logical order is met, the steps may be executed simultaneously or according to a certain preset order, and fig. 1 is only an exemplary manner, and does not represent that only the execution order is the order.
In the above embodiment, how to execute step S102 is not limited, and a key information capturing manner provided in this embodiment may include the following steps:
the preset type data information of the system calling process, the current process and the process to be scheduled in each switching process is captured by the kernel tracking thread at the kernel scheduling node:
calling a kernel tracking thread to capture the running time, idle time, virtual running time, a CPU (central processing unit) kernel, a process identifier and weight of each system calling process at a kernel scheduling node;
and calling a kernel tracking thread to capture the running time, idle time, virtual running time, a CPU (central processing unit) kernel, a process identifier, weight and process information before and after switching in the process of switching the current process and the process to be scheduled at a kernel scheduling node.
Of course, a person skilled in the art can also select data information of a required type according to actual conditions, further accurately feed back the real-time status of the current system software operation stage, and provide a more accurate reference basis for system tuning.
As an optional implementation manner, in order to monitor the process scheduling of the kernel space more intuitively, the method and the system can also realize the user-mode intuitive monitoring of the detailed view of kernel space process switching, and provide quantized reference data for system software tuning, including the following contents:
displaying the calling time, the running time, the idle time, the CPU core, the process identification and the weight in each system calling process within a preset time period such as 1h to a user space in a list form through a visual interface; and switching time, running time, idle time, virtual running time, CPU core, process identifier, weight, and process information before and after switching in the switching process between the current process and the process to be scheduled, as shown in fig. 3.
As another optional implementation, in order to control the memory mapping more autonomously and improve the interaction between the kernel mode and the user mode, a virtual memory area exception handling method may be set for the memory mapping area in advance; and when the linear address triggering the abnormity is detected to be in the virtual memory area of the user space and the corresponding physical page is not allocated, allocating the physical page for the current process to realize the autonomous control memory mapping.
The system driver of the embodiment self-defines the virtual memory abnormal vma fault method aiming at the memory mapping mmap area, realizes more autonomous mapping control and realizes efficient communication.
The embodiment of the invention also provides a corresponding device for the stored software system tuning method, so that the method has higher practicability. Wherein the means can be described separately from the functional module point of view and the hardware point of view. In the following, the tuning device for a storage software system according to the embodiments of the present invention is introduced, and the tuning device for a storage software system described below and the tuning method for a storage software system described above may be referred to correspondingly.
Based on the angle of the functional module, referring to fig. 4, fig. 4 is a structural diagram of a tuning apparatus for a stored software system according to an embodiment of the present invention, in a specific implementation manner, the tuning apparatus may include:
a kernel tracking thread constructing module 401, configured to construct a kernel tracking thread in advance; and the kernel tracking thread monitors the kernel process scheduling information in the form of an embedded system driving module.
A key information capturing module 402, configured to invoke a kernel tracking thread to capture, at a kernel scheduling node, preset type data information in each switching process of a system invocation process, a current process, and a process to be scheduled, so as to write the preset type data information as scheduling tracking information into a tracking log of a kernel space; the preset type data information is an index reflecting the process scheduling task consumption and a numerical value thereof.
The user kernel space monitoring information obtaining module 403 is configured to, when receiving a memory mapping method implemented by a user mode program through an embedded system driver, access scheduling tracking information, and send the scheduling tracking information to a user space.
Optionally, in some embodiments of this embodiment, the key information capturing module 402 may further include, for example:
the calling information capturing submodule is used for calling a kernel tracking thread to capture the running time, the idle time, the virtual running time, the CPU (central processing unit) kernel, the process identification and the weight of each system calling process at a kernel scheduling node;
and the process switching information capturing submodule is used for calling a kernel tracking thread to capture the running time, the idle time, the virtual running time, the CPU (Central processing Unit) kernel, the process identification, the weight and the process information before and after switching in the switching process of the current process and the process to be scheduled at the kernel scheduling node.
As an optional implementation manner of the embodiment of the present invention, the module 403 for acquiring kernel space monitoring information by a user may include a visual display sub-module, configured to display, in a list form, a call time, a run time, an idle time, a CPU core, a process identifier, and a weight in each system call process within a preset time period to a user space through a visual interface; and switching time, running time, idle time, virtual running time, CPU core, process identification, weight and process information before and after switching in the switching process of the current process and the process to be scheduled.
Optionally, in other embodiments of this embodiment, the apparatus may further include a memory mapping active control module, for example, configured to set a virtual memory region exception handling method for a memory mapping region in advance; and when the linear address triggering the abnormity is detected to be in the virtual memory area of the user space and the corresponding physical page is not allocated, allocating the physical page for the current process to realize the autonomous control memory mapping.
The functions of the functional modules of the tuning device for storing a software system according to the embodiment of the present invention may be specifically implemented according to the method in the foregoing method embodiment, and the specific implementation process may refer to the description related to the foregoing method embodiment, which is not described herein again.
Therefore, the user mode of the embodiment of the invention can visually observe the key information of each system call and kernel process switching, and the high-consumption task is optimized in a targeted manner.
The foregoing description of the storage software system tuning apparatus is described from the perspective of functional modules, and further, the present application provides a storage software system tuning apparatus described from the perspective of hardware. Fig. 5 is a block diagram of another tuning apparatus for a storage software system according to an embodiment of the present application. As shown in fig. 5, the apparatus comprises a memory 50 for storing a computer program;
the processor 51, when executing the computer program, is configured to implement the steps of the stored software system tuning method according to any of the embodiments described above.
The processor 51 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and the like. The processor 51 may be implemented in at least one hardware form of a DSP (Digital Signal Processing), an FPGA (Field-Programmable Gate Array), and a PLA (Programmable Logic Array). The processor 51 may also include a main processor and a coprocessor, where the main processor is a processor for Processing data in an awake state, and is also called a Central Processing Unit (CPU); a coprocessor is a low power processor for processing data in a standby state. In some embodiments, the processor 51 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content required to be displayed on the display screen. In some embodiments, the processor 51 may further include an AI (Artificial Intelligence) processor for processing computing operations related to machine learning.
Memory 50 may include one or more computer-readable storage media, which may be non-transitory. Memory 50 may also include high speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In this embodiment, the memory 50 is at least used for storing the following computer program 501, wherein after being loaded and executed by the processor 51, the computer program can implement the relevant steps of the tuning method for a storage software system disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 50 may also include an operating system 502, data 503, and the like, and the storage manner may be a transient storage manner or a permanent storage manner. Operating system 502 may include Windows, Unix, Linux, etc. Data 503 may include, but is not limited to, data corresponding to test results, and the like.
In some embodiments, the stored software system tuning apparatus may further include a display 52, an input/output interface 53, a communication interface 54, a power supply 55, and a communication bus 56.
Those skilled in the art will appreciate that the configuration shown in FIG. 5 does not constitute a limitation of the stored software system tuning apparatus and may include more or fewer components than those shown, such as sensors 57.
The functions of the functional modules of the tuning device for storing a software system according to the embodiment of the present invention may be specifically implemented according to the method in the foregoing method embodiment, and the specific implementation process may refer to the description related to the foregoing method embodiment, which is not described herein again.
Therefore, the user mode of the embodiment of the invention can visually observe the key information of each system call and kernel process switching, and the high-consumption task is optimized in a targeted manner.
It is to be understood that, if the tuning method of the stored software system in the above embodiments is implemented in the form of software functional units and sold or used as a stand-alone product, it can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application may be substantially or partially implemented in the form of a software product, which is stored in a storage medium and executes all or part of the steps of the methods of the embodiments of the present application, or all or part of the technical solutions. And the aforementioned storage medium includes: a U disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), an electrically erasable programmable ROM, a register, a hard disk, a removable magnetic disk, a CD-ROM, a magnetic or optical disk, and other various media capable of storing program codes.
Based on this, the embodiment of the present invention further provides a computer-readable storage medium, which stores a stored software system tuning program, where the stored software system tuning program is executed by a processor, and the steps of the stored software system tuning method according to any one of the above embodiments are provided.
The functions of the functional modules of the computer-readable storage medium according to the embodiment of the present invention may be specifically implemented according to the method in the foregoing method embodiment, and the specific implementation process may refer to the related description of the foregoing method embodiment, which is not described herein again.
The embodiments are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same or similar parts among the embodiments are referred to each other. The device disclosed by the embodiment corresponds to the method disclosed by the embodiment, so that the description is simple, and the relevant points can be referred to the method part for description.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The foregoing detailed description is directed to a method, an apparatus, and a computer-readable storage medium for tuning a storage software system. The principles and embodiments of the present invention are explained herein using specific examples, which are presented only to assist in understanding the method and its core concepts. It should be noted that, for those skilled in the art, it is possible to make various improvements and modifications to the present invention without departing from the principle of the present invention, and those improvements and modifications also fall within the scope of the claims of the present application.
Claims (10)
1. A method for tuning a storage software system, comprising:
pre-constructing a kernel tracking thread; the kernel tracking thread monitors kernel process scheduling information in a form of an embedded system driving module;
calling the kernel tracking thread to capture preset type data information in each switching process of the system calling process, the current process and the process to be scheduled at a kernel scheduling node so as to serve as scheduling tracking information to be written into a tracking log of a kernel space; the preset type data information is an index reflecting the consumption of a process scheduling task and a numerical value thereof;
and when receiving a memory mapping method realized by a user mode program through an embedded system drive to access the scheduling tracking information, sending the scheduling tracking information to a user space.
2. The method for tuning a storage software system according to claim 1, wherein the step of calling the kernel tracking thread to capture preset type data information in each switching process of the system calling process, the current process and the process to be scheduled at the kernel scheduling node comprises:
calling the kernel tracking thread to capture the running time, idle time, virtual running time, CPU (central processing unit) kernel, process identification and weight of each system calling process at a kernel scheduling node;
and calling the kernel tracking thread to capture the running time, idle time, virtual running time, CPU (central processing unit) kernel, process identification, weight and process information before and after switching in the process of switching the current process and the process to be scheduled at the kernel scheduling node.
3. The method of claim 2, wherein said sending the scheduling tracking information to user space comprises:
displaying the calling time, the running time, the idle time, the CPU core, the process identification and the weight in each system calling process in a preset time period to the user space in a list form through a visual interface; and switching time, running time, idle time, virtual running time, CPU core, process identification, weight and process information before and after switching in the switching process of the current process and the process to be scheduled.
4. The method for tuning a storage software system according to any one of claims 1 to 3, wherein after the pre-constructing the kernel tracking thread, the method further comprises:
setting a virtual memory area exception handling method aiming at a memory mapping area in advance;
and when the linear address triggering the abnormity is detected to be in the virtual memory area of the user space and the corresponding physical page is not allocated, allocating the physical page for the current process to realize the autonomous control memory mapping.
5. A tuning apparatus for a storage software system, comprising:
the kernel tracking thread building module is used for building a kernel tracking thread in advance; the kernel tracking thread monitors kernel process scheduling information in a form of an embedded system driving module;
the key information capturing module is used for calling the kernel tracking thread to capture preset type data information in each switching process of the system calling process, the current process and the process to be scheduled at a kernel scheduling node so as to serve as scheduling tracking information to be written into a tracking log of a kernel space; the preset type data information is an index reflecting the consumption of a process scheduling task and a numerical value thereof;
and the kernel space monitoring information acquisition module is used for accessing the scheduling tracking information by a memory mapping method realized by a user mode program through an embedded system driver when receiving the scheduling tracking information and sending the scheduling tracking information to the user space.
6. The device for tuning a storage software system according to claim 5, wherein the key information capturing module comprises:
the calling information capturing submodule is used for calling the kernel tracking thread to capture the running time, idle time, virtual running time, CPU (central processing unit) kernel, process identification and weight of each system calling process at a kernel scheduling node;
and the process switching information capturing submodule is used for calling the kernel tracking thread to capture the running time, the idle time, the virtual running time, the CPU core, the process identification, the weight and the process information before and after switching in the process of switching the current process and the process to be scheduled at the kernel scheduling node.
7. The tuning apparatus for storage software system according to claim 6, wherein the module for acquiring kernel space monitoring information by the user comprises a visualization display sub-module, configured to display, in a list form, a call time, a run time, an idle time, a CPU core, a process identifier, and a weight in each system call process within a preset time period to the user space through a visualization interface; and switching time, running time, idle time, virtual running time, CPU core, process identification, weight and process information before and after switching in the switching process of the current process and the process to be scheduled.
8. The stored software system tuning apparatus of claim 7, further comprising:
the memory mapping active control module is used for setting a virtual memory area exception handling method aiming at the memory mapping area in advance; and when the linear address triggering the abnormity is detected to be in the virtual memory area of the user space and the corresponding physical page is not allocated, allocating the physical page for the current process to realize the autonomous control memory mapping.
9. A stored software system tuning apparatus, comprising a processor for implementing the steps of the stored software system tuning method according to any one of claims 1 to 4 when executing a computer program stored in a memory.
10. A computer-readable storage medium, having stored thereon a stored software system tuning program, which when executed by a processor implements the steps of the stored software system tuning method of any one of claims 1 to 4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011110346.9A CN112269536A (en) | 2020-10-16 | 2020-10-16 | Method and device for optimizing storage software system and computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011110346.9A CN112269536A (en) | 2020-10-16 | 2020-10-16 | Method and device for optimizing storage software system and computer readable storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112269536A true CN112269536A (en) | 2021-01-26 |
Family
ID=74338279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011110346.9A Pending CN112269536A (en) | 2020-10-16 | 2020-10-16 | Method and device for optimizing storage software system and computer readable storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112269536A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113849238A (en) * | 2021-09-29 | 2021-12-28 | 浪潮电子信息产业股份有限公司 | Data communication method, device, electronic equipment and readable storage medium |
CN116450120A (en) * | 2023-06-06 | 2023-07-18 | 北京翼辉信息技术有限公司 | Method, device, equipment and medium for analyzing kernel of real-time operating system |
CN117311994A (en) * | 2023-11-28 | 2023-12-29 | 苏州元脑智能科技有限公司 | Processing core isolation method and device, electronic equipment and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101403983A (en) * | 2008-11-25 | 2009-04-08 | 北京航空航天大学 | Resource monitoring method and system for multi-core processor based on virtual machine |
CN106682061A (en) * | 2016-10-17 | 2017-05-17 | 暨南大学 | Distributed system for collection and storage of origin data |
CN106681884A (en) * | 2016-06-28 | 2017-05-17 | 腾讯科技(深圳)有限公司 | System call monitoring method and device |
CN108229172A (en) * | 2018-02-13 | 2018-06-29 | 国家计算机网络与信息安全管理中心 | Astride hierarchy data flow method for tracing based on windows platforms |
CN109189573A (en) * | 2018-08-10 | 2019-01-11 | 郑州云海信息技术有限公司 | A kind of isomery internal storage management system based on NVDIMM |
-
2020
- 2020-10-16 CN CN202011110346.9A patent/CN112269536A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101403983A (en) * | 2008-11-25 | 2009-04-08 | 北京航空航天大学 | Resource monitoring method and system for multi-core processor based on virtual machine |
CN106681884A (en) * | 2016-06-28 | 2017-05-17 | 腾讯科技(深圳)有限公司 | System call monitoring method and device |
CN106682061A (en) * | 2016-10-17 | 2017-05-17 | 暨南大学 | Distributed system for collection and storage of origin data |
CN108229172A (en) * | 2018-02-13 | 2018-06-29 | 国家计算机网络与信息安全管理中心 | Astride hierarchy data flow method for tracing based on windows platforms |
CN109189573A (en) * | 2018-08-10 | 2019-01-11 | 郑州云海信息技术有限公司 | A kind of isomery internal storage management system based on NVDIMM |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113849238A (en) * | 2021-09-29 | 2021-12-28 | 浪潮电子信息产业股份有限公司 | Data communication method, device, electronic equipment and readable storage medium |
CN113849238B (en) * | 2021-09-29 | 2024-02-09 | 浪潮电子信息产业股份有限公司 | Data communication method, device, electronic equipment and readable storage medium |
CN116450120A (en) * | 2023-06-06 | 2023-07-18 | 北京翼辉信息技术有限公司 | Method, device, equipment and medium for analyzing kernel of real-time operating system |
CN116450120B (en) * | 2023-06-06 | 2023-11-28 | 北京翼辉信息技术有限公司 | Method, device, equipment and medium for analyzing kernel of real-time operating system |
CN117311994A (en) * | 2023-11-28 | 2023-12-29 | 苏州元脑智能科技有限公司 | Processing core isolation method and device, electronic equipment and storage medium |
CN117311994B (en) * | 2023-11-28 | 2024-02-23 | 苏州元脑智能科技有限公司 | Processing core isolation method and device, electronic equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112269536A (en) | Method and device for optimizing storage software system and computer readable storage medium | |
US8181185B2 (en) | Filtering of performance monitoring information | |
KR20200122364A (en) | Resource scheduling method and terminal device | |
US10127017B2 (en) | Devops management | |
US8561032B2 (en) | Visualizing thread life time in eclipse | |
US10162324B2 (en) | Method for manipulating a control program of a control device | |
EP2733613B1 (en) | Controller and program | |
CN112527452A (en) | Virtual machine migration method, device and medium across OpenStack | |
KR20220147355A (en) | Smart factory management apparatus and controlling method thereof | |
EP3572940A1 (en) | Method and device for scheduling vcpu thread | |
CN113849238B (en) | Data communication method, device, electronic equipment and readable storage medium | |
CN106708481B (en) | Method for controlling task execution | |
CN107465620B (en) | General data router and communication method thereof | |
CN108241522B (en) | Sleep state switching method and device in virtualization environment and electronic equipment | |
CN115756866A (en) | Load balancing method, device and storage medium | |
CN110007653B (en) | Configuration method, device and equipment of welding control system and storage medium | |
CN115981822A (en) | Task processing method, medium, device and computing equipment | |
CN110837399A (en) | Method and device for managing streaming computing application program and computing equipment | |
CN113688343B (en) | Page authority control method, device, equipment and readable storage medium | |
CN115480924A (en) | Method and device for processing job data, storage medium and electronic equipment | |
CN103631571A (en) | Method and device for controlling progress bar | |
CN113849229A (en) | Server starting method and device, electronic equipment and readable storage medium | |
CN109445877B (en) | Method for detecting same virtual machine used by multiple threads of game server | |
CN111831412A (en) | Interrupt processing method and device, storage medium and electronic equipment | |
CN110908866A (en) | Software monitoring method and related equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210126 |