ID:               25325
 User updated by:  carb at videotron dot ca
 Reported By:      carb at videotron dot ca
-Status:           Feedback
+Status:           Open
 Bug Type:         Filesystem function related
 Operating System: RedHat 9.0
 PHP Version:      4.3.3
 New Comment:

Hi, Thank you for your responses.  I fully understand that you do not
work with openMosix.  

Yes, there is a cantmove file, but it is empty, meaning that 

But is an important issue for anyone who plans to develop a PHP website
that can start processes on an openMosix or any other SSI type cluster.
 Since any process that will come fomr php will never migrate, php
could not be used as a front end.

So it would be fun to try to solve this and I am certain that the
openMosix side will also help look at it.

The root of the problem is probably related to the additional stuff
being added to the process when it comes from PHP.  Do you have an idea
what this additional (approx.) 600K is?

Yes, the cantmove file is present for all the processes but
unfortunately there are no error messages in it for the processes that
don't migrate.

I will experiment with popen to see if I get different results.

Thanks in advance,
Real


Previous Comments:
------------------------------------------------------------------------

[2003-08-30 17:59:28] [EMAIL PROTECTED]

I don't know openMosix at all (first heard about it now :),
but I read this:

  http://howto.ipng.be/openMosix-HOWTO/x1225.html

That first column, about "/proc/$pid/, there often is a cantmove
file..", have you checked that?

Also you should know that we don't fork() with exec() function.
(proc_open() does, maybe you should use that instead?)


------------------------------------------------------------------------

[2003-08-30 16:51:51] carb at videotron dot ca

I think it is related to PHP because that exact command get migrated
correctly when executed from the command line, but does not when it is
executed from PHP/exec().  

When starting the process from the command line, the process sizes
are:
SIZE:128, RSS:128, SHARE:40  and it migrates.

When starting the process from PHP/Apache, the process sizes are:
SIZE:736, RSS:732, SHARE:652  and it does NOT migrate.

When starting the process from PHP at the command line, the process
sizes are:
SIZE:740, RSS:732, SHARE:652  and it does NOT migrate.

So we can see that there is alot of extra stuff comming from PHP that
is in the process and it would be this that is affecting the
migration.

openMosix cannot migrate processes that have shared memory, there may
be something like that coming from comming from PHP.

I also posted a message to the openMosix group in case they can help. 

https://sourceforge.net/tracker/index.php?func=detail&aid=797919&group_id=46729&atid=447171

Thanks in advance,
Real

------------------------------------------------------------------------

[2003-08-30 16:12:41] [EMAIL PROTECTED]

Why do you think this is related to PHP? PHP does *nothing* special
with processes... I wonder how this can be related to OpenMosix.

------------------------------------------------------------------------

[2003-08-30 16:05:16] carb at videotron dot ca

Description:
------------
executing a command from PHP, the command does not get migrated in an
openMosix cluster, even if the command migrates when it is executed
from the command line.

Running "awk 'BEGIN {for(i=0;i<10000;i++)for(j=0;j<10000;j++);}' >
/dev/null 2>&1 &" from a command line several times creates processes
that get migrated.  

Running the same thing several times from an exec in a PHP script does
not get migrated.  

The same problem occurs whether the script is executed from apache
"http://localhost/test.php/"; or the command line "php test.php"

Reproduce code:
---------------
<?PHP
  exec("awk 'BEGIN {for(i=0;i<10000;i++)for(j=0;j<10000;j++);}' >
/dev/null 2>&1 &");

?>

Expected result:
----------------
When executing the script several times in an openMosix cluster, some
of the processes should migrate.

Actual result:
--------------
When executing the script several times in an openMosix cluster, none
of the processes migrate.


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=25325&edit=1

Reply via email to