[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 118: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 118: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 118: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 118: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead CareersNG • View topic - Parallelize applications for faster Linux booting 1
CareersNG
Career Development for Nigerians ... A Knowledge Sharing Forum!
The simplest way to optimize the init process is to disable unnecessary services. For example, if you're running a desktop (rather than a server), you could disable services such as apache, sendmail, and mysql, thereby shortening the init sequence.
Because the traditional init process (sysvinit) is a serial process, this portion of the system is ripe for optimization. In fact, you can use any of several approaches to optimize the init process. Let's look at a few of these approaches and how they solve the problem. The first two approaches are dependency based (that is, they use dependencies to provide the parallelization), and the third is an event-based system (that is, processes depend on events to indicate when they can start or stop).
Back to top
Initng
The first option, initng (for init next generation), is a full replacement for init that asynchronously starts processes to more quickly complete the init process. At the time of this writing, initng is a beta product, the creator of which is Jimmy Wennlund.
The fundamental idea behind initng is that services are started as soon as their dependencies are met. This system results in a better balance of CPU versus I/O. While one script is being loaded from disk or waiting for a hardware device to start, another script can be running to start another service.
How initng works
As a dependency-based solution, initng uses its own set of initialization scripts that encode the service and daemon dependencies. An example is shown in Listing 2. This script specifies a service that is to be started for the given runlevel. The service has two dependencies, as defined by the need keyword, for system/initial and net/all. These services must be available before system/my_service can be started. When these services are available, the exec keyword comes into play. The exec keyword (with the start option) defines how to start the service, with any available options. When the service is to stop, the exec keyword with the stop option is used.
You can encode an entire system with service definitions, as shown in Listing 2. Those without dependencies can then be started immediately (and in parallel), while those that have dependencies must wait to start safely. You can think of initng as a goals-based system. The goals are the services to be started. No explicit planning occurs; instead, the dependencies simply define the flow of service initiation, with parallelization implicit in the process.
Using initng
The initng package is relatively simple to install for typical uses. For systems that use non-standard packages (not present in default configuration), some assembly may be required.
A typical installation of initng requires the initng distribution (source or binary) and the ifiles distribution. You can build the initng distribution with ./configure, make, and make install. You must build the ifiles (which are the script files) with cmake. Depending on your system requirements, you may be required to create new service/daemon definitions (although it's likely that someone in the initng community has done so already). You must then modify the LILO or GRUB configuration to point to the new /sbin/initng.
To control initng, you use ngc (as compared to telinit with traditional init). The syntax differs somewhat, but the capabilities remain the same.
we continue with upstart which is another option to replace init,
This process is just to teach you how to rearrange your linux boot process to boot faster but if you can't go through the process then consider trying t stop some of your startup application to get faster booting.Use the chkconfig command to do that.
Users browsing this forum: No registered users and 2 guests
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum